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
12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/enumerize/base.rb', line 12 def enumerize(name, ={}) attr = Attribute.new(self, name, ) enumerized_attributes << attr unless methods.include?(attr.name) _enumerize_module._class_methods.module_eval " def \#{attr.name}\n enumerized_attributes[:\#{attr.name}]\n end\n RUBY\n end\n\n attr.define_methods!(_enumerize_module)\nend\n", __FILE__, __LINE__ + 1 |
#enumerized_attributes ⇒ Object
27 28 29 |
# File 'lib/enumerize/base.rb', line 27 def enumerized_attributes @enumerized_attributes ||= AttributeMap.new end |
#inherited(subclass) ⇒ Object
31 32 33 34 |
# File 'lib/enumerize/base.rb', line 31 def inherited(subclass) enumerized_attributes.add_dependant subclass.enumerized_attributes super end |