pjb3 (owner)

Revisions

gist: 151324 Download_button fork
public
Public Clone URL: git://gist.github.com/151324.git
Embed All Files: show embed
symbolize_keys.rb #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
module HashExtensions
  def symbolize_keys
    inject({}) do |acc, (k,v)|
      key = String === k ? k.to_sym : k
      value = Hash === v ? v.symbolize_keys : v
      acc[key] = value
      acc
    end
  end
end
Hash.send(:include, HashExtensions)
 
hash = {"drinks"=>{"gibson"=>{"garnish"=>"onion"}, "martini"=>{"garnish"=>"olive"}}}
puts hash.symbolize_keys.inspect