Class: Hash

Inherits:
Object
  • Object
show all
Defined in:
lib/sapience/core_ext/hash.rb

Instance Method Summary collapse

Instance Method Details

#_deep_transform_keyz_in_object!(object, &block) ⇒ Object Also known as: _deep_transform_keys_in_object!



14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/sapience/core_ext/hash.rb', line 14

def _deep_transform_keyz_in_object!(object, &block)
  case object
  when Hash
    object.keys.each do |key|
      value = object.delete(key)
      object[yield(key)] = _deep_transform_keyz_in_object!(value, &block)
    end
    object
  when Array
    object.map! { |e| _deep_transform_keyz_in_object!(e, &block) }
  else
    object
  end
end

#deep_symbolize_keyz!Object Also known as: deep_symbolize_keys!

Returns a Hash with all keys symbolized



4
5
6
# File 'lib/sapience/core_ext/hash.rb', line 4

def deep_symbolize_keyz!
  deep_transform_keyz! { |key| key.to_sym rescue key } # rubocop:disable RescueModifier
end

#deep_transform_keyz!(&block) ⇒ Object Also known as: deep_transform_keys!



9
10
11
# File 'lib/sapience/core_ext/hash.rb', line 9

def deep_transform_keyz!(&block)
  _deep_transform_keyz_in_object!(self, &block)
end