Class: Hash
- Inherits:
-
Object
- Object
- Hash
- Defined in:
- lib/ckick/hash.rb
Instance Method Summary collapse
- #array_aware_deep_symbolize_keys ⇒ Object
- #array_aware_deep_transform_keys(&block) ⇒ Object
- #without(*keys) ⇒ Object
- #without!(*keys) ⇒ Object
Instance Method Details
#array_aware_deep_symbolize_keys ⇒ Object
22 23 24 |
# File 'lib/ckick/hash.rb', line 22 def array_aware_deep_symbolize_keys array_aware_deep_transform_keys{ |key| key.to_sym rescue key } end |
#array_aware_deep_transform_keys(&block) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/ckick/hash.rb', line 8 def array_aware_deep_transform_keys(&block) result = {} each do |key, value| new_key = yield(key) if value.is_a?(Hash) || value.is_a?(Array) result[new_key] = value.array_aware_deep_transform_keys(&block) else result[new_key] = value end end result end |
#without(*keys) ⇒ Object
26 27 28 |
# File 'lib/ckick/hash.rb', line 26 def without(*keys) dup.without!(*keys) end |
#without!(*keys) ⇒ Object
30 31 32 |
# File 'lib/ckick/hash.rb', line 30 def without!(*keys) reject! { |key| keys.include?(key) } end |