Module: ActiveModule::Enum::InstanceMethodsDefiner
- Included in:
- ActiveModule::Enum
- Defined in:
- lib/active_module/enum/instance_methods_definer.rb
Instance Method Summary collapse
Instance Method Details
#define_instance_methods(attribute_name, mod, value_name, opts, existing) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/active_module/enum/instance_methods_definer.rb', line 6 def define_instance_methods(attribute_name, mod, value_name, opts, existing) name = enum_method_name(value_name, opts) define_if_new( existing[:instance], :"#{name}?" ) do public_send(attribute_name) == mod end define_if_new( existing[:instance], :"#{name}!" ) do public_send("#{attribute_name}=", mod) save! end end |