Class: TaxonNameClassification::Iczn::Available::Valid

Inherits:
TaxonNameClassification::Iczn::Available show all
Defined in:
app/models/taxon_name_classification/iczn/available/valid.rb

Direct Known Subclasses

NomenDubium, NomenInquirendum

Defined Under Namespace

Classes: NomenDubium, NomenInquirendum

Constant Summary collapse

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

Constants included from SoftValidation

SoftValidation::ANCESTORS_WITH_SOFT_VALIDATIONS

Instance Attribute Summary

Attributes inherited from TaxonNameClassification

#project_id, #taxon_name_id, #type

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from TaxonNameClassification::Iczn::Available

assignable

Methods inherited from TaxonNameClassification::Iczn

applicable_ranks, code_applicability_start_year

Methods inherited from TaxonNameClassification

#annotated_object, annotates?, applicable_ranks, assignable, #classification_label, code_applicability_end_year, code_applicability_start_year, collect_descendants_and_itself_to_s, collect_descendants_to_s, collect_to_s, label, #nomen_id, nomen_uri, #nomenclature_code, #nomenclature_code_matches, parent, possible_genus_endings, possible_species_endings, questionable_species_endings, #set_cached, #set_cached_names_for_taxon_names, #sv_fix_proper_classification, #sv_proper_classification, #sv_proper_year, #sv_validate_disjoint_classes, #type_class, #type_class=, #type_name, #validate_taxon_name_classification, #validate_uniqueness_of_latinized

Methods included from SoftValidation

#clear_soft_validations, #fix_for, #fix_soft_validations, #soft_fixed?, #soft_valid?, #soft_validate, #soft_validated?, #soft_validations, #soft_validators

Methods included from Shared::IsData

#errors_excepting, #full_error_messages_excepting, #identical, #is_community?, #is_destroyable?, #is_editable?, #is_in_use?, #is_in_users_projects?, #metamorphosize, #similar

Methods included from Shared::Notes

#concatenated_notes_string, #reject_notes

Methods included from Shared::Citations

#cited?, #mark_citations_for_destruction, #nomenclature_date, #origin_citation_source_id, #reject_citations, #requires_citation?, #sources_by_topic_id

Methods included from Housekeeping

#has_polymorphic_relationship?

Methods inherited from ApplicationRecord

transaction_with_retry

Class Method Details

.disjoint_taxon_name_classesObject



5
6
7
8
# File 'app/models/taxon_name_classification/iczn/available/valid.rb', line 5

def self.disjoint_taxon_name_classes
  self.parent.disjoint_taxon_name_classes +
      self.collect_to_s(TaxonNameClassification::Iczn::Available::Invalid)
end

.gbif_statusObject



10
11
12
# File 'app/models/taxon_name_classification/iczn/available/valid.rb', line 10

def self.gbif_status
  'valid'
end

Instance Method Details

#sv_not_specific_classesObject



14
15
16
17
18
# File 'app/models/taxon_name_classification/iczn/available/valid.rb', line 14

def sv_not_specific_classes
  if self.citations.empty?
    soft_validations.add(:type, 'This status should only be used when one or more conflicting invalidating relationships present in the database (for example, a taxon was used as a synonym in the past, but not now, and a synonym relationship is stored in the database for a historical record). Otherwise, this status should not be used. By default, any name which does not have invalidating relationship is a valid name (provide a citation to hide this message)')
  end
end