Module: Philiprehberger::AuditTrail::Differ
- Defined in:
- lib/philiprehberger/audit_trail/differ.rb
Overview
Hash diff utility that computes field-level changes between two hashes.
Class Method Summary collapse
-
.call(before:, after:) ⇒ Hash
Compute the diff between two hashes.
Class Method Details
.call(before:, after:) ⇒ Hash
Compute the diff between two hashes.
12 13 14 15 16 17 18 19 |
# File 'lib/philiprehberger/audit_trail/differ.rb', line 12 def self.call(before:, after:) all_keys = (before.keys + after.keys).uniq all_keys.each_with_object({}) do |key, diff| old_val = before[key] new_val = after[key] diff[key] = { from: old_val, to: new_val } unless old_val == new_val end end |