72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
# File 'lib/delta_changes.rb', line 72
def _write_attribute(attr, value)
attr = attr.to_s
unless self.class.delta_changes_options[:columns].include?(attr)
return super(attr, value)
end
if delta_changed_attributes.include?(attr)
old = delta_changed_attributes[attr]
super(attr, value)
delta_changed_attributes.delete(attr) unless delta_changes_field_changed?(attr, old, value)
else
old = read_attribute(attr).dup
super(attr, value)
delta_changed_attributes[attr] = old if delta_changes_field_changed?(attr, old, value)
end
end
|