Class: TaxonNameRelationship::Iczn::Invalidating::Homonym::Primary
Defined Under Namespace
Classes: Forgotten, Suppressed
Constant Summary
collapse
- NOMEN_URI =
'http://purl.obolibrary.org/obo/NOMEN_0000290'.freeze
Class Method Summary
collapse
Instance Method Summary
collapse
disjoint_object_classes, #object_status_connector_to_subject, #subject_properties, #subject_status_connector_to_object, #sv_fix_add_synonym_for_homonym, #sv_fix_not_specific_relationship, #sv_missing_nomen_novum, #sv_missing_replacement_name, #sv_validate_priority, #sv_validate_total_suppression
assignable, disjoint_object_classes, disjoint_subject_classes, gbif_status_of_subject, nomenclatural_priority, #object_status_connector_to_subject, #similar_homonym_string, #subject_properties, #subject_status_connector_to_object, #sv_fix_not_specific_relationship
disjoint_object_classes, disjoint_subject_classes, #sv_validate_priority
Class Method Details
.assignment_method ⇒ Object
31
32
33
34
|
# File 'app/models/taxon_name_relationship/iczn/invalidating/homonym/primary.rb', line 31
def self.assignment_method
:iczn_set_as_primary_homonym_of
end
|
.disjoint_taxon_name_relationships ⇒ Object
.inverse_assignment_method ⇒ Object
36
37
38
39
|
# File 'app/models/taxon_name_relationship/iczn/invalidating/homonym/primary.rb', line 36
def self.inverse_assignment_method
:iczn_primary_homonym
end
|
.valid_object_ranks ⇒ Object
13
14
15
|
# File 'app/models/taxon_name_relationship/iczn/invalidating/homonym/primary.rb', line 13
def self.valid_object_ranks
SPECIES_RANK_NAMES_ICZN
end
|
.valid_subject_ranks ⇒ Object
8
9
10
|
# File 'app/models/taxon_name_relationship/iczn/invalidating/homonym/primary.rb', line 8
def self.valid_subject_ranks
SPECIES_RANK_NAMES_ICZN
end
|
Instance Method Details
#object_status ⇒ Object
23
24
25
|
# File 'app/models/taxon_name_relationship/iczn/invalidating/homonym/primary.rb', line 23
def object_status
'senior primary homonym'
end
|
#subject_status ⇒ Object
27
28
29
|
# File 'app/models/taxon_name_relationship/iczn/invalidating/homonym/primary.rb', line 27
def subject_status
'primary homonym'
end
|
#sv_not_specific_relationship ⇒ Object
57
58
59
|
# File 'app/models/taxon_name_relationship/iczn/invalidating/homonym/primary.rb', line 57
def sv_not_specific_relationship
true
end
|
#sv_same_original_genus ⇒ Object
49
50
51
52
53
54
55
|
# File 'app/models/taxon_name_relationship/iczn/invalidating/homonym/primary.rb', line 49
def sv_same_original_genus
s = subject_taxon_name
o = object_taxon_name
if s.original_genus != o.original_genus
soft_validations.add(:type, "Primary homonyms #{s.cached_html_name_and_author_year} and #{o.cached_html_name_and_author_year} should have the same original genus")
end
end
|
#sv_specific_relationship ⇒ Object
41
42
43
44
45
46
47
|
# File 'app/models/taxon_name_relationship/iczn/invalidating/homonym/primary.rb', line 41
def sv_specific_relationship
s = subject_taxon_name
o = object_taxon_name
if s.cached_primary_homonym_alternative_spelling != o.cached_primary_homonym_alternative_spelling
soft_validations.add(:type, "#{s.cached_html_name_and_author_year} and #{o.cached_html_name_and_author_year} are not similar enough to be homonyms")
end
end
|
#sv_synonym_relationship ⇒ Object
61
62
63
|
# File 'app/models/taxon_name_relationship/iczn/invalidating/homonym/primary.rb', line 61
def sv_synonym_relationship
true
end
|