Skip to content

Instantly share code, notes, and snippets.

@pjb3
Created July 21, 2009 13:15
Show Gist options
  • Save pjb3/151324 to your computer and use it in GitHub Desktop.
Save pjb3/151324 to your computer and use it in GitHub Desktop.
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment