module Enumerize::Base::ClassMethods
Public Instance Methods
enumerize(name, options={})
click to toggle source
# File lib/enumerize/base.rb, line 15 def enumerize(name, options={}) attr = Attribute.new(self, name, options) 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()
click to toggle source
# File lib/enumerize/base.rb, line 30 def enumerized_attributes @enumerized_attributes ||= AttributeMap.new end
Private Instance Methods
_enumerize_module()
click to toggle source
# File lib/enumerize/base.rb, line 43 def _enumerize_module @_enumerize_module ||= begin mod = Module.new include mod mod end end