Module: Tripod::Dirty::ClassMethods

Defined in:
lib/tripod/dirty.rb

Instance Method Summary collapse

Instance Method Details

#create_dirty_change_accessor(name, meth) ⇒ Object



44
45
46
47
48
49
50
# File 'lib/tripod/dirty.rb', line 44

def create_dirty_change_accessor(name, meth)
  generated_methods.module_eval do
    re_define_method("#{meth}_change") do
      attribute_change(name)
    end
  end
end

#create_dirty_change_check(name, meth) ⇒ Object



52
53
54
55
56
57
58
# File 'lib/tripod/dirty.rb', line 52

def create_dirty_change_check(name, meth)
  generated_methods.module_eval do
    re_define_method("#{meth}_changed?") do
      attribute_changed?(name)
    end
  end
end

#create_dirty_methods(name, meth) ⇒ Object



38
39
40
41
42
# File 'lib/tripod/dirty.rb', line 38

def create_dirty_methods(name, meth)
  create_dirty_change_check(name, meth)
  create_dirty_change_accessor(name, meth)
  create_dirty_was_accessor(name, meth)
end

#create_dirty_was_accessor(name, meth) ⇒ Object



60
61
62
63
64
65
66
# File 'lib/tripod/dirty.rb', line 60

def create_dirty_was_accessor(name, meth)
  generated_methods.module_eval do
    re_define_method("#{meth}_was") do
      changed_attributes[name]
    end
  end
end