Class: Hash
- Inherits:
-
Object
- Object
- Hash
- Defined in:
- lib/sapience/core_ext/hash.rb
Instance Method Summary collapse
- #_deep_transform_keys_in_object!(object, &block) ⇒ Object
-
#deep_symbolize_keys! ⇒ Object
Returns a Hash with all keys symbolized.
- #deep_transform_keys!(&block) ⇒ Object
Instance Method Details
#_deep_transform_keys_in_object!(object, &block) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/sapience/core_ext/hash.rb', line 11 def _deep_transform_keys_in_object!(object, &block) case object when Hash object.keys.each do |key| value = object.delete(key) object[yield(key)] = _deep_transform_keys_in_object!(value, &block) end object when Array object.map! { |e| _deep_transform_keys_in_object!(e, &block) } else object end end |
#deep_symbolize_keys! ⇒ Object
Returns a Hash with all keys symbolized
3 4 5 |
# File 'lib/sapience/core_ext/hash.rb', line 3 def deep_symbolize_keys! deep_transform_keys! { |key| key.to_sym rescue key } # rubocop:disable RescueModifier end |
#deep_transform_keys!(&block) ⇒ Object
7 8 9 |
# File 'lib/sapience/core_ext/hash.rb', line 7 def deep_transform_keys!(&block) _deep_transform_keys_in_object!(self, &block) end |