class Traits

Public Class Methods

[]( key ) click to toggle source
# File lib/kittyverse/traits.rb, line 271
def self.[]( key )
  ## check for codes e.g. FU, PA, ... (or fu, pa,...).
  if key.size == 2 && key =~ /^[A-Za-z]{2}$/
    TraitType.find_by_code( key )
  ## check for codes e.g. FU00, FU01 ... (or fu00, fu01, ...)
  elsif key.size == 4 && key =~ /^[A-Za-z]{2}[0-9]{2}$/
    Trait.find_by_code( key )
  else
    if key.is_a? Symbol    ## e.g. :body, :pattern, etc.
      t = TraitType.find_by_key( key )
      t = Trait.find_by_name( key )      if t.nil?  ## try trait name next - why? why not?
      t
    else ## assume string
      t = TraitType.find_by_name( key )
      t = Trait.find_by_name( key )      if t.nil?  ## try trait name next
      t
    end
  end
end
each() { |type| ... } click to toggle source
# File lib/kittyverse/traits.rb, line 291
def self.each() TraitType.each { |type| yield(type) }; end
each_with_index() { |type,i| ... } click to toggle source
# File lib/kittyverse/traits.rb, line 292
def self.each_with_index() TraitType.each_with_index { |type,i| yield(type,i) }; end