Hashie::Extensions::SymbolizeKeys

Public Instance Methods

symbolize_keys() click to toggle source

Return a new hash with all keys converted to symbols.

# File lib/hashie/extensions/symbolize_keys.rb, line 20
def symbolize_keys
  dup.symbolize_keys!
end
symbolize_keys!() click to toggle source

Convert all keys in the hash to symbols.

@example

test = {'abc' => 'def'}
test.symbolize_keys!
test # => {:abc => 'def'}
# File lib/hashie/extensions/symbolize_keys.rb, line 10
def symbolize_keys!
  keys.each do |k|
    symbolize_keys_recursively!(self[k])
    self[k.to_sym] = delete(k)
  end
  self
end

Protected Instance Methods

symbolize_keys_recursively!(object) click to toggle source

Symbolize all keys recursively within nested hashes and arrays.

# File lib/hashie/extensions/symbolize_keys.rb, line 28
def symbolize_keys_recursively!(object)
  if self.class === object
    object.symbolize_keys!
  elsif ::Array === object
    object.each do |i|
      symbolize_keys_recursively!(i)
    end
    object
  elsif object.respond_to?(:symbolize_keys!)
    object.symbolize_keys!
  else
    object
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.