4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# File 'lib/footprintable/instance_methods.rb', line 4
def action
attrs_changed = previous_changes
return if attrs_changed.empty?
attrs_changed = attrs_changed.except *self.class.[:except]
attrs_changed = attrs_changed. *self.class.[:extract] if self.class.[:extract].present?
attrs_before = {}
attrs_after = {}
attrs_changed.each do |k, v|
attrs_before.store(k, v.first) unless v.first.nil?
attrs_after.store(k, v.last) unless v.last.nil?
end
self..model.new(before: attrs_before, after: attrs_after, action: action, trackable: self, actorable: Current.actor).save(validate: false)
end
|