Class: Microscope::InstanceMethod::BooleanInstanceMethod
- Inherits:
-
Microscope::InstanceMethod
- Object
- Struct
- Microscope::InstanceMethod
- Microscope::InstanceMethod::BooleanInstanceMethod
- Defined in:
- lib/microscope/instance_method/boolean_instance_method.rb
Instance Attribute Summary
Attributes inherited from Microscope::InstanceMethod
Instance Method Summary collapse
Methods inherited from Microscope::InstanceMethod
#cropped_field, #initialize, inject_instance_methods
Constructor Details
This class inherits a constructor from Microscope::InstanceMethod
Instance Method Details
#apply ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/microscope/instance_method/boolean_instance_method.rb', line 4 def apply infinitive_verb = Microscope::Utils.past_participle_to_infinitive(field.name) model.class_eval <<-RUBY, __FILE__, __LINE__ + 1 define_method "#{infinitive_verb}!" do send("#{field.name}=", true) save! end define_method "not_#{infinitive_verb}!" do send("#{field.name}=", false) save! end alias_method 'un#{infinitive_verb}!', 'not_#{infinitive_verb}!' define_method "mark_as_#{field.name}" do send("#{field.name}=", true) end define_method "mark_as_not_#{field.name}" do send("#{field.name}=", false) end alias_method 'mark_as_un#{field.name}', 'mark_as_not_#{field.name}' RUBY end |