public Method

Hash.symbolize_keys!

Destructively convert all keys which respond_to?(:to_sym) to symbols. Works recursively if given nested hashes.

{ 'one' => 1, 'two' => 2 }.symbolize_keys!
#=> { :one => 1, :two => 2 }

Source Code

# File merb/core_ext/hash.rb, line 166
def symbolize_keys!
  each do |k,v| 
    sym = k.respond_to?(:to_sym) ? k.to_sym : k 
    self[sym] = Hash === v ? v.symbolize_keys! : v 
    delete(k) unless k == sym
  end
  self
end
Comments

Have your say
Please use Textile formatting (click here for a cheat sheet). Use <code/> and <pre/> for code samples.
Click here to login with OpenID to to post comments.