Class: Microscope::InstanceMethod::BooleanInstanceMethod

Inherits:
Microscope::InstanceMethod show all
Defined in:
lib/microscope/instance_method/boolean_instance_method.rb

Instance Attribute Summary

Attributes inherited from Microscope::InstanceMethod

#field, #model

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

#applyObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/microscope/instance_method/boolean_instance_method.rb', line 4

def apply
  model.class_eval <<-RUBY, __FILE__, __LINE__ + 1
    define_method 'mark_as_#{field.name}!' do
      mark_as_#{field.name}
      save!
    end

    define_method 'mark_as_not_#{field.name}!' do
      mark_as_not_#{field.name}
      save!
    end
    alias_method 'mark_as_un#{field.name}!', 'mark_as_not_#{field.name}!'

    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