Class: Hash
- Inherits:
-
Object
- Object
- Hash
- Defined in:
- lib/flyml/core_ext/hash.rb
Direct Known Subclasses
Instance Method Summary collapse
Instance Method Details
#deep_fetch(*args, &block) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/flyml/core_ext/hash.rb', line 13 def deep_fetch(*args, &block) return self if args.empty? value = fetch(args.shift, &block) if value.is_a?(Hash) value.deep_fetch(*args, &block) elsif value.is_a?(Array) && !args.empty? value = value[args.shift] value.deep_fetch(*args, &block) else value end end |
#recursive_symbolize_keys! ⇒ Object
4 5 6 7 8 9 10 11 |
# File 'lib/flyml/core_ext/hash.rb', line 4 def recursive_symbolize_keys! symbolize_keys! # symbolize each hash in .values values.each { |h| h.recursive_symbolize_keys! if h.is_a?(Hash) } # symbolize each hash inside an array in .values values.select { |v| v.is_a?(Array) }.flatten.each { |h| h.recursive_symbolize_keys! if h.is_a?(Hash) } self end |