Module: Enumerated::ClassMethods
- Defined in:
- lib/enumerated.rb
Instance Method Summary collapse
-
#enumerated(attr, enums, opts = {}) ⇒ Object
Declares that given attribute is enumerated.
Instance Method Details
#enumerated(attr, enums, opts = {}) ⇒ Object
Declares that given attribute is enumerated.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/enumerated.rb', line 13 def enumerated(attr, enums, opts = {}) def opts.disabled?(sym) include?(sym) && !self[sym] end class_eval do @definitions ||= {} @definitions[attr.to_sym] = Definition.new(self.to_s, attr.to_s, enums) end define_helper_methods(attr, opts) define_label_methods(attr) define_bang_methods(attr, enums) apply_validations(attr, enums, opts) end |