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.



17
18
19
# File 'lib/traitorous.rb', line 17

def traits
  @traits
end

Instance Method Details

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



19
20
21
22
23
24
25
# File 'lib/traitorous.rb', line 19

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