Module: ReviewAndApprove::HashDiff

Defined in:
lib/review_and_approve/hash_diff.rb

Class Method Summary collapse

Class Method Details

.diff(orig, other) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/review_and_approve/hash_diff.rb', line 3

def diff(orig, other)
  (orig.keys + other.keys).uniq.inject({}) do |memo, key|
    unless orig[key] == other[key]
      if orig[key].kind_of?(Hash) &&  other[key].kind_of?(Hash)
        memo[key] = ReviewAndApprove::HashDiff.diff(orig[key], other[key])
      else
        memo[key] = [orig[key], other[key]] 
      end
    end
    memo
  end
end