Class: Hash

Inherits:
Object show all
Defined in:
lib/core_ext/hash.rb

Instance Method Summary collapse

Instance Method Details

#symbolize_keys!Object



2
3
4
5
6
7
8
9
10
11
12
13
# File 'lib/core_ext/hash.rb', line 2

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 
    self[sym] = Array === v ? v.each{|i| 
      i.symbolize_keys! if i.is_a? Hash
    }: v

    delete(k) unless k == sym
  end
  self
end