Class: Grape::Extensions::DeepMergeableHash

Inherits:
Hash
  • Object
show all
Defined in:
lib/grape/extensions/deep_mergeable_hash.rb

Instance Method Summary collapse

Instance Method Details

#deep_merge!(other_hash) ⇒ Object


6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/grape/extensions/deep_mergeable_hash.rb', line 6

def deep_merge!(other_hash)
  other_hash.each_pair do |current_key, other_value|
    this_value = self[current_key]

    self[current_key] = if this_value.is_a?(::Hash) && other_value.is_a?(::Hash)
                          this_value.deep_merge(other_value)
                        else
                          other_value
                        end
  end

  self
end