Module: Caterer::Util::Hash
- Included in:
- Provisioner::ChefSolo
- Defined in:
- lib/caterer/util/hash.rb
Instance Method Summary collapse
Instance Method Details
#deep_merge(hash, other_hash) ⇒ Object
5 6 7 8 9 10 11 |
# File 'lib/caterer/util/hash.rb', line 5 def deep_merge(hash, other_hash) hash.merge(other_hash) do |key, oldval, newval| oldval = oldval.to_hash if oldval.respond_to?(:to_hash) newval = newval.to_hash if newval.respond_to?(:to_hash) oldval.class.to_s == 'Hash' && newval.class.to_s == 'Hash' ? deep_merge(oldval, newval) : newval end end |