Class: TaxonNameClassification::Iczn::Unavailable

Inherits:
TaxonNameClassification::Iczn show all
Defined in:
app/models/taxon_name_classification/iczn/unavailable.rb

Defined Under Namespace

Modules: InnerClass, InnerClassFamilyGroup, InnerClassFamilyGroupUnavailableBefore2000, InnerClassGenusGroup, InnerClassSpeciesGroup, InnerClassStart2012 Classes: BasedOnSuppressedGenus, ElectronicOnlyPublicationBefore2012, ElectronicPublicationNotInPdfFormat, ElectronicPublicationNotRegisteredInZoobank, ElectronicPublicationWithoutIssnOrIsbn, Excluded, LessThanTwoLetters, NomenNudum, NonBinominal, NotLatin, NotLatinizedAfter1899, NotLatinizedBefore1900AndNotAccepted, NotNominativePlural, NotNounInNominativeSingular, NotNounOrAdjective, NotScientificPlural, PreLinnean, Suppressed, UnavailableAndNotUsedAsValidBefore2000, UnavailableAndRejectedByAuthorBefore2000, UnavailableUnderIczn, VarietyOrFormAfter1960

Constant Summary collapse

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

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from TaxonNameClassification::Iczn

applicable_ranks, code_applicability_start_year

Class Method Details

.assignableObject



3
4
5
# File 'app/models/taxon_name_classification/iczn/unavailable.rb', line 3

def self.assignable
  true
end

.disjoint_taxon_name_classesObject



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

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

.gbif_statusObject



19
20
21
# File 'app/models/taxon_name_classification/iczn/unavailable.rb', line 19

def self.gbif_status
  'invalidum'
end

Instance Method Details

#classification_labelObject



7
8
9
10
# File 'app/models/taxon_name_classification/iczn/unavailable.rb', line 7

def classification_label
  return 'unavailable' if type_name.to_s == 'TaxonNameClassification::Iczn::Unavailable'
  'unavailable: ' + type_name.demodulize.underscore.humanize.downcase.gsub(/\d+/, ' \0 ').squish
end

#sv_not_specific_classesObject



299
300
301
# File 'app/models/taxon_name_classification/iczn/unavailable.rb', line 299

def sv_not_specific_classes
  soft_validations.add(:type, 'Please specify the reasons for the name being Unavailable')
end