Refactor common transaction_id logic into a method

This commit is contained in:
Mike Dillon 2016-05-18 08:49:40 -07:00
parent a184c37750
commit 71b93758bf
1 changed files with 8 additions and 9 deletions

View File

@ -375,9 +375,7 @@ module PaperTrail
if pt_record_object_changes? && changed_notably?
data[:object_changes] = pt_recordable_object_changes
end
if self.class.paper_trail_version_class.column_names.include?("transaction_id")
data[:transaction_id] = PaperTrail.transaction_id
end
add_transaction_id_to(data)
version = send(self.class.versions_association_name).create! merge_metadata(data)
update_transaction_id(version)
save_associations(version)
@ -397,9 +395,7 @@ module PaperTrail
if pt_record_object_changes?
data[:object_changes] = pt_recordable_object_changes
end
if self.class.paper_trail_version_class.column_names.include?("transaction_id")
data[:transaction_id] = PaperTrail.transaction_id
end
add_transaction_id_to(data)
version = send(self.class.versions_association_name).create merge_metadata(data)
update_transaction_id(version)
save_associations(version)
@ -478,9 +474,7 @@ module PaperTrail
object: pt_recordable_object,
whodunnit: PaperTrail.whodunnit
}
if self.class.paper_trail_version_class.column_names.include?("transaction_id")
data[:transaction_id] = PaperTrail.transaction_id
end
add_transaction_id_to(data)
version = self.class.paper_trail_version_class.create(merge_metadata(data))
send("#{self.class.version_association_name}=", version)
send(self.class.versions_association_name).send :load_target
@ -638,6 +632,11 @@ module PaperTrail
(if_condition.blank? || if_condition.call(self)) && !unless_condition.try(:call, self)
end
def add_transaction_id_to(data)
return unless self.class.paper_trail_version_class.column_names.include?("transaction_id")
data[:transaction_id] = PaperTrail.transaction_id
end
# @api private
def update_transaction_id(version)
return unless self.class.paper_trail_version_class.column_names.include?("transaction_id")