class Babl::Utils::Hash
Constants
- EMPTY
Public Class Methods
deep_merge(hashes)
click to toggle source
# File lib/babl/utils/hash.rb, line 8 def deep_merge(hashes) filtered_hashes = hashes.reject(&:empty?) return EMPTY if filtered_hashes.empty? return filtered_hashes.first if filtered_hashes.size == 1 filtered_hashes.reduce({}) { |out, hash| deep_merge_inplace(out, hash) } end
deep_merge_inplace(target, source)
click to toggle source
# File lib/babl/utils/hash.rb, line 16 def deep_merge_inplace(target, source) source.each { |k, v| target[k] = deep_merge_inplace(target[k] || {}, v) } target end