Class: TaxonNameRelationship::Iczn::Invalidating::Synonym::Objective::UnjustifiedEmendation
Constant Summary
collapse
- NOMEN_URI =
'http://purl.obolibrary.org/obo/NOMEN_0000278'.freeze
Class Method Summary
collapse
Instance Method Summary
collapse
#sv_fix_objective_synonym_relationship, #sv_not_specific_relationship, #sv_objective_synonym_relationship
disjoint_object_classes, #object_status_connector_to_subject, #sv_fix_not_specific_relationship, #sv_not_specific_relationship, #sv_synonym_relationship
assignable, disjoint_object_classes, disjoint_subject_classes, gbif_status_of_subject, nomenclatural_priority, #object_status_connector_to_subject, #similar_homonym_string, #subject_properties, #sv_fix_not_specific_relationship, #sv_not_specific_relationship, #sv_synonym_relationship
disjoint_object_classes, disjoint_subject_classes, #sv_validate_priority, valid_object_ranks, valid_subject_ranks
Class Method Details
.assignment_method ⇒ Object
33
34
35
36
|
# File 'app/models/taxon_name_relationship/iczn/invalidating/synonym/objective/unjustified_emendation.rb', line 33
def self.assignment_method
:iczn_set_as_unjustified_emendation_of
end
|
.disjoint_taxon_name_relationships ⇒ Object
.inverse_assignment_method ⇒ Object
38
39
40
41
|
# File 'app/models/taxon_name_relationship/iczn/invalidating/synonym/objective/unjustified_emendation.rb', line 38
def self.inverse_assignment_method
:iczn_unjustified_emendation
end
|
Instance Method Details
#object_status ⇒ Object
21
22
23
|
# File 'app/models/taxon_name_relationship/iczn/invalidating/synonym/objective/unjustified_emendation.rb', line 21
def object_status
'correct original spelling'
end
|
#subject_status ⇒ Object
25
26
27
|
# File 'app/models/taxon_name_relationship/iczn/invalidating/synonym/objective/unjustified_emendation.rb', line 25
def subject_status
'unjustified emendation'
end
|
#subject_status_connector_to_object ⇒ Object
29
30
31
|
# File 'app/models/taxon_name_relationship/iczn/invalidating/synonym/objective/unjustified_emendation.rb', line 29
def subject_status_connector_to_object
' for'
end
|
#sv_different_original_genera ⇒ Object
53
54
55
56
57
58
59
|
# File 'app/models/taxon_name_relationship/iczn/invalidating/synonym/objective/unjustified_emendation.rb', line 53
def sv_different_original_genera
s = self.subject_taxon_name
o = self.object_taxon_name
if o.is_species_rank? && o.original_genus && s.original_genus != o.original_genus
soft_validations.add(:type, "Unjustified emendation and correctly spelled names should have the same original genus: '#{o.original_genus.cached_html}'", success_message: 'Original genus was updated', failure_message: 'Failed to update original genus')
end
end
|
#sv_fix_different_original_genera ⇒ Object
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
# File 'app/models/taxon_name_relationship/iczn/invalidating/synonym/objective/unjustified_emendation.rb', line 60
def sv_fix_different_original_genera
s = self.subject_taxon_name
o = self.object_taxon_name
if o.is_species_rank? && s.original_genus.nil? && o.original_genus
begin
Protonym.transaction do
s.original_genus = o.original_genus
s.original_species = s if s.original_species.nil?
s.save
end
return true
rescue
return false
end
else
return false
end
end
|
#sv_specific_relationship ⇒ Object
45
46
47
48
49
50
51
|
# File 'app/models/taxon_name_relationship/iczn/invalidating/synonym/objective/unjustified_emendation.rb', line 45
def sv_specific_relationship
s = self.subject_taxon_name
o = self.object_taxon_name
if s.name == o.name
soft_validations.add(:base, "Unjustified emendation and correctly spelled names are identical: '#{s.cached_html}'")
end
end
|