class Cattribute
Attributes
count[RW]
key[RW]
name[RW]
recipe[RW]
traits[RW]
type[RW]
Public Class Methods
[]( name )
click to toggle source
# File lib/kittyverse/cattributes.rb, line 23 def self.[]( name ) find_by_name( name ); end
cattributes_by_name()
click to toggle source
# File lib/kittyverse/cattributes.rb, line 5 def self.cattributes_by_name() @@cattributes_by_name ||= {}; end
find_by( **kwargs )
click to toggle source
add “generic” convenience find helper
# File lib/kittyverse/cattributes.rb, line 14 def self.find_by( **kwargs ) if kwargs[ :name ] find_by_name( kwargs[ :name ] ) else ## todo/fix: throw argument except!!! nil end end
find_by_name( name )
click to toggle source
# File lib/kittyverse/cattributes.rb, line 7 def self.find_by_name( name ) ## note: allow string AND symbols (thus, use .to_s !!!) ## note: downcase name e.g. allow Savannah too (not just savannah) @@cattributes_by_name[ name.downcase.to_s ] end
new( **kwargs )
click to toggle source
# File lib/kittyverse/cattributes.rb, line 34 def initialize( **kwargs ) update( kwargs ) end
Public Instance Methods
update( **kwargs )
click to toggle source
# File lib/kittyverse/cattributes.rb, line 38 def update( **kwargs ) kwargs.each do |name,value| send( "#{name}=", value ) ## use "regular" plain/classic attribute setter end self ## return self for chaining end