module Enumerize::Base::ClassMethods
Public Instance Methods
enumerize(name, options={})
click to toggle source
# File lib/enumerize/base.rb, line 21 def enumerize(name, options={}) attr = Attribute.new(self, name, options) enumerized_attributes << attr unless methods.include?(attr.name) _enumerize_module._class_methods.module_eval " def #{attr.name} enumerized_attributes[:#{attr.name}] end ", __FILE__, __LINE__ + 1 end attr.define_methods!(_enumerize_module) end
enumerized_attributes()
click to toggle source
# File lib/enumerize/base.rb, line 36 def enumerized_attributes @enumerized_attributes ||= AttributeMap.new end
inherited_with_enumerized(subclass)
click to toggle source
# File lib/enumerize/base.rb, line 40 def inherited_with_enumerized(subclass) enumerized_attributes.add_dependant subclass.enumerized_attributes if respond_to?(:inherited_without_enumerized, true) inherited_without_enumerized subclass end end
Private Instance Methods
_enumerize_module()
click to toggle source
# File lib/enumerize/base.rb, line 49 def _enumerize_module @_enumerize_module ||= begin mod = Module.new include mod mod end end