Class: TaxonNameRelationship::Iczn::Invalidating::Synonym::Objective::ReplacedHomonym

Inherits:
TaxonNameRelationship::Iczn::Invalidating::Synonym::Objective show all
Defined in:
app/models/taxon_name_relationship/iczn/invalidating/synonym/objective/replaced_homonym.rb

Constant Summary collapse

NOMEN_URI =
'http://purl.obolibrary.org/obo/NOMEN_0000112'.freeze

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from TaxonNameRelationship::Iczn::Invalidating::Synonym::Objective

#sv_fix_objective_synonym_relationship, #sv_not_specific_relationship, #sv_objective_synonym_relationship

Methods inherited from TaxonNameRelationship::Iczn::Invalidating::Synonym

disjoint_object_classes, #sv_fix_not_specific_relationship, #sv_not_specific_relationship, #sv_synonym_relationship

Methods inherited from TaxonNameRelationship::Iczn::Invalidating

assignable, disjoint_object_classes, disjoint_subject_classes, gbif_status_of_subject, nomenclatural_priority, #similar_homonym_string, #subject_properties, #sv_fix_not_specific_relationship, #sv_not_specific_relationship, #sv_synonym_relationship

Methods inherited from TaxonNameRelationship::Iczn

disjoint_object_classes, disjoint_subject_classes, #sv_validate_priority, valid_object_ranks, valid_subject_ranks

Class Method Details

.assignment_methodObject



14
15
16
17
# File 'app/models/taxon_name_relationship/iczn/invalidating/synonym/objective/replaced_homonym.rb', line 14

def self.assignment_method
  # bus.set_as_iczn_synonymic_homonym_of(aus)
  :iczn_set_as_replaced_homonym_of
end

.disjoint_taxon_name_relationshipsObject



5
6
7
8
9
10
11
12
# File 'app/models/taxon_name_relationship/iczn/invalidating/synonym/objective/replaced_homonym.rb', line 5

def self.disjoint_taxon_name_relationships
  parent.disjoint_taxon_name_relationships +
    self.collect_to_s(
      TaxonNameRelationship::Iczn::Invalidating::Synonym::Objective::UnjustifiedEmendation,
      TaxonNameRelationship::Iczn::Invalidating::Synonym::Objective::UnnecessaryReplacementName,
      TaxonNameRelationship::Iczn::Invalidating::Synonym::Objective::SynonymicHomonym
    )
end

.inverse_assignment_methodObject



19
20
21
22
# File 'app/models/taxon_name_relationship/iczn/invalidating/synonym/objective/replaced_homonym.rb', line 19

def self.inverse_assignment_method
  # aus.iczn_synonymic_homonym = bus
  :iczn_replaced_homonym
end

Instance Method Details

#object_statusObject



24
25
26
# File 'app/models/taxon_name_relationship/iczn/invalidating/synonym/objective/replaced_homonym.rb', line 24

def object_status
  'replacment name'
end

#object_status_connector_to_subjectObject



36
37
38
# File 'app/models/taxon_name_relationship/iczn/invalidating/synonym/objective/replaced_homonym.rb', line 36

def object_status_connector_to_subject
  ' for'
end

#subject_statusObject



28
29
30
# File 'app/models/taxon_name_relationship/iczn/invalidating/synonym/objective/replaced_homonym.rb', line 28

def subject_status
  'replaced'
end

#subject_status_connector_to_objectObject



32
33
34
# File 'app/models/taxon_name_relationship/iczn/invalidating/synonym/objective/replaced_homonym.rb', line 32

def subject_status_connector_to_object
  ' by'
end

#sv_specific_relationshipObject



40
41
42
43
44
45
# File 'app/models/taxon_name_relationship/iczn/invalidating/synonym/objective/replaced_homonym.rb', line 40

def sv_specific_relationship
  tr = TaxonNameRelationship::Iczn::Invalidating::Synonym::Objective::ReplacedHomonym.where(object_taxon_name_id: subject_taxon_name_id).first
  unless tr.nil?
    soft_validations.add(:subject_taxon_name_id, "A new replacement name could not be proposed for another replacement name. The relationship should move from #{subject_taxon_name.cached_html} to the older objective synonym: #{tr.subject_taxon_name.cached_html}")
  end
end