Method: Doing::Util#merge_values

Defined in:
lib/doing/util.rb

#merge_values(target, overwrite) ⇒ Object



98
99
100
101
102
103
104
105
106
107
108
# File 'lib/doing/util.rb', line 98

def merge_values(target, overwrite)
  target.merge!(overwrite) do |_key, old_val, new_val|
    if new_val.nil?
      old_val
    elsif mergable?(old_val) && mergable?(new_val)
      deep_merge_hashes(old_val, new_val)
    else
      new_val
    end
  end
end