Method: Hash#deep_diff
- Defined in:
- lib/sabisu/event.rb
#deep_diff(b) ⇒ Object
171 172 173 174 175 176 177 178 179 180 181 182 183 |
# File 'lib/sabisu/event.rb', line 171 def deep_diff(b) a = self (a.keys | b.keys).reduce({}) 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 |