class Taxonifi::Model::IcznName

ICZN specific sublassing of a taxonomic name. !! Minimally tested and not broadly implmented.

Public Class Methods

new() click to toggle source
# File lib/models/name.rb, line 184
def initialize
  super
end

Public Instance Methods

name=(name) click to toggle source

Set the name, checks for family group restrictions.

# File lib/models/name.rb, line 189
def name=(name)
  case @rank
  when 'superfamily'
    raise NameError, "ICZN superfamily name does not end in 'oidae'." if name[-5,5] != 'oidae'
  when 'family'
    raise NameError, "ICZN family name does not end in 'idae'." if name[-4,4] != 'idae'
  when 'subfamily'
    raise NameError, "ICZN subfamily name does not end in 'inae'." if name[-4,4] != 'inae'
  when 'tribe'
    raise NameError, "ICZN tribe name does not end in 'ini'." if name[-3,3] != 'ini'
  when 'subtribe'
    raise NameError, "ICZN subtribe name does not end in 'ina'." if name[-3,3] != 'ina'
  end
  @name = name
end