Module: Accessible::HashMethods
Instance Method Summary collapse
Instance Method Details
#deep_merge(orig_data, new_data) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/accessible/hash_methods.rb', line 16 def deep_merge(orig_data, new_data) merger = proc do |key, v1, v2| Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : v2 end orig_data.merge(new_data, &merger) end |
#each_hash(data, &block) ⇒ Object
5 6 7 8 9 10 11 12 13 14 |
# File 'lib/accessible/hash_methods.rb', line 5 def each_hash(data, &block) case data when Hash block.call(data) when Array data.each { |elem| each_hash(elem, &block) } end data end |