module Corefines::Hash::SymbolizeKeys

@!method #symbolize_keys

@example
  hash = { 'name' => 'Lindsey', :born => 1986 }
  hash.symbolize_keys # => { :name => 'Lindsey', :born => 1986 }
  hash # => { 'name' => 'Lindsey', :born => 1986 }

@return [Hash] a new hash with all keys converted to symbols, as long
  as they respond to +to_sym+.

@!method #symbolize_keys!

Converts all keys to symbols, as long as they respond to +to_sym+.
Same as {#symbolize_keys}, but modifies +self+.

@return [Hash] self

Public Instance Methods

symbolize_keys() click to toggle source
# File lib/corefines/hash.rb, line 221
def symbolize_keys
  each_with_object(dup.clear) do |(key, value), hash|
    hash[(key.to_sym rescue key)] = value
  end
end
symbolize_keys!() click to toggle source
# File lib/corefines/hash.rb, line 227
def symbolize_keys!
  keys.each do |key|
    self[(key.to_sym rescue key)] = delete(key)
  end
  self
end