Method: Hash#deep_diff
- Defined in:
- lib/ab_admin/core_ext/hash.rb
#deep_diff(b) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/ab_admin/core_ext/hash.rb', line 41 def deep_diff(b) a = self (a.keys | b.keys).inject({}) do |diff, k| if a[k] != b[k] if a[k].respond_to?(:deep_diff) && b[k].respond_to?(:deep_diff) diff[k] = a[k].deep_diff(b[k]) else diff[k] = [a[k], b[k]] end end diff end end |