51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
# File 'lib/active_data/model/dirty.rb', line 51
def define_dirty method, target = self
reflection = reflect_on_attribute(method)
name = reflection ? reflection.name : method
%w[changed? change will_change! was
previously_changed? previous_change].each do |suffix|
target.class_eval " def \#{method}_\#{suffix}\n attribute_\#{suffix} '\#{name}'\n end\n RUBY\n end\n\n target.class_eval <<-RUBY, __FILE__, __LINE__ + 1\n def restore_\#{method}!\n restore_attribute! '\#{name}'\n end\n RUBY\nend\n", __FILE__, __LINE__ + 1
|