module Hashie::Extensions::SymbolizeKeys::ClassMethods
def symbolize_keys(hash)
-
hash
(::Hash
) --
def symbolize_keys(hash) copy = hash.dup copy.extend(Hashie::Extensions::SymbolizeKeys) unless copy.respond_to?(:symbolize_keys!) copy.tap do |new_hash| symbolize_keys!(new_hash) end end
def symbolize_keys!(hash)
-
hash
(Hash
) --
def symbolize_keys!(hash) hash.extend(Hashie::Extensions::SymbolizeKeys) unless hash.respond_to?(:symbolize_keys!) hash.keys.each do |k| # rubocop:disable Performance/HashEachMethods symbolize_keys_recursively!(hash[k]) hash[k.to_sym] = hash.delete(k) end hash end
def symbolize_keys_recursively!(object)
- Api: - private
def symbolize_keys_recursively!(object) case object when self.class symbolize_keys!(object) when ::Array object.each do |i| symbolize_keys_recursively!(i) end when ::Hash symbolize_keys!(object) end end