Sha256: e404240efa9317be72e5c637dff2ca93615410157fa8b7a01c1d9554252fda94

Contents?: true

Size: 473 Bytes

Versions: 3

Compression:

Stored size: 473 Bytes

Contents

module ReviewAndApprove
  module HashDiff
    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

    module_function :diff
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
review_and_approve-0.0.8 lib/review_and_approve/hash_diff.rb
review_and_approve-0.0.7 lib/review_and_approve/hash_diff.rb
review_and_approve-0.0.6 lib/review_and_approve/hash_diff.rb