10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/fast_versioning/paper_trail_extensions.rb', line 10
def create_fast_versions
if item.respond_to?(:fast_version_for, true)
value_change = FastVersioning::ValueChange.new(version: self)
item.send(:fast_version_for).each do |tracked_attribute|
if value_change.value_was(tracked_attribute.name) != value_change.value_became(tracked_attribute.name)
fast_versions.create(
item_id: item_id,
item_type: item_type,
whodunnit_id: whodunnit.to_i,
whodunnit_type: whodunnit_type,
name: tracked_attribute.name,
value: value_change.value_became(tracked_attribute.name),
prev_value: value_change.value_was(tracked_attribute.name),
meta: tracked_attribute.meta,
created_at: created_at
)
end
end
end
true
end
|