module OmniAuth::Utils

def deep_merge(hash, other_hash)

def deep_merge(hash, other_hash)
  target = hash.dup
  other_hash.each_key do |key|
    if other_hash[key].is_a?(::Hash) && hash[key].is_a?(::Hash)
      target[key] = deep_merge(target[key], other_hash[key])
      next
    end
    target[key] = other_hash[key]
  end
  target
end