Class: TaxonNameRelationship::Iczn::PotentiallyValidating::FirstRevisorAction

Inherits:
TaxonNameRelationship::Iczn::PotentiallyValidating show all
Defined in:
app/models/taxon_name_relationship/iczn/potentially_validating/first_revisor_action.rb

Constant Summary collapse

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

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from TaxonNameRelationship::Iczn::PotentiallyValidating

disjoint_object_classes, disjoint_subject_classes, gbif_status_of_object

Methods inherited from TaxonNameRelationship::Iczn

disjoint_object_classes, disjoint_subject_classes, valid_object_ranks, valid_subject_ranks

Class Method Details

.assignableObject



17
18
19
# File 'app/models/taxon_name_relationship/iczn/potentially_validating/first_revisor_action.rb', line 17

def self.assignable
  true
end

.assignment_methodObject



41
42
43
44
# File 'app/models/taxon_name_relationship/iczn/potentially_validating/first_revisor_action.rb', line 41

def self.assignment_method
  # bus.set_as_first_revisor_action_of(aus)
  :iczn_set_as_first_revisor_action_of
end

.inverse_assignment_methodObject



46
47
48
49
# File 'app/models/taxon_name_relationship/iczn/potentially_validating/first_revisor_action.rb', line 46

def self.inverse_assignment_method
  # aus.iczn_first_revisor_action = bus
  :iczn_first_revisor_action
end

.nomenclatural_priorityObject



37
38
39
# File 'app/models/taxon_name_relationship/iczn/potentially_validating/first_revisor_action.rb', line 37

def self.nomenclatural_priority
  :direct # will validate for the date is equal
end

Instance Method Details

#object_statusObject



21
22
23
# File 'app/models/taxon_name_relationship/iczn/potentially_validating/first_revisor_action.rb', line 21

def object_status
  'does not have priority as a result of the first revisor action'
end

#object_status_connector_to_subjectObject



33
34
35
# File 'app/models/taxon_name_relationship/iczn/potentially_validating/first_revisor_action.rb', line 33

def object_status_connector_to_subject
  ' under'
end

#subject_statusObject



29
30
31
# File 'app/models/taxon_name_relationship/iczn/potentially_validating/first_revisor_action.rb', line 29

def subject_status
  'has priority as a result of the first revisor action'
end

#subject_status_connector_to_objectObject



25
26
27
# File 'app/models/taxon_name_relationship/iczn/potentially_validating/first_revisor_action.rb', line 25

def subject_status_connector_to_object
  ' over'
end

#sv_coordinated_taxaObject



51
52
53
# File 'app/models/taxon_name_relationship/iczn/potentially_validating/first_revisor_action.rb', line 51

def sv_coordinated_taxa
  true
end

#sv_validate_priorityObject

Override priority test



6
7
8
9
10
11
12
13
14
15
# File 'app/models/taxon_name_relationship/iczn/potentially_validating/first_revisor_action.rb', line 6

def sv_validate_priority
  unless self.type_class.nomenclatural_priority.nil?
    date1 = self.subject_taxon_name.cached_nomenclature_date
    date2 = self.object_taxon_name.cached_nomenclature_date
    unless date1 == date2
      soft_validations.add(:type, 'Both taxa should be described on the same date')
      soft_validations.add(:object_taxon_name_id, 'Taxon has different publication date')
    end
  end
end