Skip to content

Commit

Permalink
Refactor common transaction_id logic into a method
Browse files Browse the repository at this point in the history
  • Loading branch information
md5 committed May 18, 2016
1 parent a184c37 commit 71b9375
Showing 1 changed file with 8 additions and 9 deletions.
17 changes: 8 additions & 9 deletions lib/paper_trail/has_paper_trail.rb
Expand Up @@ -375,9 +375,7 @@ def record_create
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)
Expand All @@ -397,9 +395,7 @@ def record_update(force = nil)
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)
Expand Down Expand Up @@ -478,9 +474,7 @@ def record_destroy
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
Expand Down Expand Up @@ -638,6 +632,11 @@ def save_version?
(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")
Expand Down

0 comments on commit 71b9375

Please sign in to comment.