Class: Hash

Inherits:
Object
  • Object
show all
Defined in:
lib/context_aware_scope.rb

Instance Method Summary collapse

Instance Method Details

#keep_merge(hash) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/context_aware_scope.rb', line 50

def keep_merge(hash)
  target = dup
  hash.keys.each do |key|
    if hash[key].is_a? Hash and self[key].is_a? Hash
      target[key] = target[key].keep_merge(hash[key])
      next
    end
    #target[key] = hash[key]
    target.update(hash) { |key, *values| values.flatten.uniq }
  end
  target
end