Class: Hash
- Inherits:
-
Object
- Object
- Hash
- Defined in:
- lib/automation_object/helpers/hash.rb
Overview
Hash class method additions
Instance Method Summary collapse
Instance Method Details
#deep_merge(second) ⇒ Object
5 6 7 8 |
# File 'lib/automation_object/helpers/hash.rb', line 5 def deep_merge(second) merger = proc { |_key, v1, v2| v1.is_a?(Hash) && v2.is_a?(Hash) ? v1.merge(v2, &merger) : v2 } merge(second, &merger) end |
#symbolize_keys_deep!(h = self) ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/automation_object/helpers/hash.rb', line 10 def symbolize_keys_deep!(h = self) h.keys.each do |k| ks = k.respond_to?(:to_sym) ? k.to_sym : k h[ks] = h.delete k # Preserve order even when k == ks symbolize_keys_deep! h[ks] if h[ks].is_a?(Hash) end end |