mirror of
https://github.com/KevinMidboe/linguist.git
synced 2026-05-08 14:35:54 +00:00
16 lines
321 B
Ruby
16 lines
321 B
Ruby
class Hash
|
|
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
|
|
end
|