Class: Hash
Instance Method Summary collapse
Instance Method Details
#deep_diff(b) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/ayadn/extend.rb', line 31 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 |