Class: Hash
- Inherits:
-
Object
- Object
- Hash
- Defined in:
- lib/ext/hash.rb
Overview
Hash - Core Extensions
Instance Method Summary collapse
Instance Method Details
#recursively_symbolize_keys! ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/ext/hash.rb', line 3 def recursively_symbolize_keys! return self unless respond_to?(:keys) keys.each do |k| ks = k.respond_to?(:to_sym) ? k.to_sym : k self[ks] = self.delete k # Preserve order even when k == ks self[ks].recursively_symbolize_keys! if self[ks].kind_of? Hash if self[ks].kind_of?(Array) && !self[ks].first.kind_of?(Array) self[ks].map!{|v| self[ks].kind_of?(Hash) ? v.recursively_symbolize_keys! : v } end end self end |