class Hash
Hash
- Core Extensions
Public Instance Methods
recursively_symbolize_keys!()
click to toggle source
# 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