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
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
Set the name, checks for family group restrictions.