Skip to content

Instantly share code, notes, and snippets.

@neektza
Created January 23, 2014 20:01
Show Gist options
  • Save neektza/8585746 to your computer and use it in GitHub Desktop.
Save neektza/8585746 to your computer and use it in GitHub Desktop.
Updated Avdi's symbolize_keys
def symbolize_keys(x)
if x.is_a? Hash
x.inject({}) do |result, (key, value)|
new_key = case key
when String then key.to_sym
else key
end
new_value = case value
when Hash then symbolize_keys(value)
when Array then symbolize_keys(value)
else value
end
result[new_key] = new_value
result
end
elsif x.is_a? Array
x.map {|el| symbolize_keys(el)}
else
x
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment