Module: Enumerize::Base::ClassMethods
- Defined in:
- lib/enumerize/base.rb
Instance Method Summary collapse
- #enumerize(name, options = {}) ⇒ Object
- #enumerized_attributes ⇒ Object
- #inherited(subclass) ⇒ Object
Instance Method Details
#enumerize(name, options = {}) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/enumerize/base.rb', line 14 def enumerize(name, ={}) attr = Attribute.new(self, name, ) enumerized_attributes << attr unless methods.include?(attr.name) _enumerize_module._class_methods.module_eval <<-RUBY, __FILE__, __LINE__ + 1 def #{attr.name} enumerized_attributes[:#{attr.name}] end RUBY end attr.define_methods!(_enumerize_module) end |
#enumerized_attributes ⇒ Object
29 30 31 |
# File 'lib/enumerize/base.rb', line 29 def enumerized_attributes @enumerized_attributes ||= AttributeMap.new end |
#inherited(subclass) ⇒ Object
33 34 35 36 |
# File 'lib/enumerize/base.rb', line 33 def inherited(subclass) enumerized_attributes.add_dependant subclass.enumerized_attributes super end |