Module: Hashie::Extensions::SymbolizeKeys::ClassMethods
- Included in:
- Hashie, Hashie::Extensions::SymbolizeKeys
- Defined in:
- lib/hashie/extensions/symbolize_keys.rb
Instance Method Summary collapse
-
#symbolize_keys(hash) ⇒ Object
Return a copy of hash with all keys converted to symbols.
-
#symbolize_keys!(hash) ⇒ Object
Convert all keys in hash to symbols.
-
#symbolize_keys_recursively!(object) ⇒ Object
private
Symbolize all keys recursively within nested hashes and arrays.
Instance Method Details
#symbolize_keys(hash) ⇒ Object
Return a copy of hash with all keys converted to symbols.
56 57 58 59 60 |
# File 'lib/hashie/extensions/symbolize_keys.rb', line 56 def symbolize_keys(hash) hash.dup.tap do | new_hash | symbolize_keys! new_hash end end |
#symbolize_keys!(hash) ⇒ Object
Convert all keys in hash to symbols.
45 46 47 48 49 50 51 |
# File 'lib/hashie/extensions/symbolize_keys.rb', line 45 def symbolize_keys!(hash) hash.keys.each do |k| symbolize_keys_recursively!(hash[k]) hash[k.to_sym] = hash.delete(k) end hash end |
#symbolize_keys_recursively!(object) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Symbolize all keys recursively within nested hashes and arrays.
25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/hashie/extensions/symbolize_keys.rb', line 25 def symbolize_keys_recursively!(object) object.symbolize_keys! if object.respond_to? :symbolize_keys! case object when ::Array object.each do |i| symbolize_keys_recursively!(i) end when ::Hash symbolize_keys!(object) end end |