Module: Traitorous::ClassMethods

Defined in:
lib/traitorous.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#traitsObject

Returns the value of attribute traits.



37
38
39
# File 'lib/traitorous.rb', line 37

def traits
  @traits
end

Instance Method Details

#trait(attr_name, converter = Traitorous::Converter::DEFAULT_CONVERTER) ⇒ Object



39
40
41
42
43
44
45
# File 'lib/traitorous.rb', line 39

def trait(attr_name, converter = Traitorous::Converter::DEFAULT_CONVERTER)
  self.traits            ||= HASH.new
  # sub hash used here, {} chosen for expansion possibility, but only
  #   :converter is in use
  self.traits[attr_name] = {converter: converter}
  attr_accessor attr_name
end