Skip to content

Instantly share code, notes, and snippets.

@michaelachrisco
Created March 9, 2015 21:56
Show Gist options
  • Save michaelachrisco/a3aa3ed92d5e34f62b72 to your computer and use it in GitHub Desktop.
Save michaelachrisco/a3aa3ed92d5e34f62b72 to your computer and use it in GitHub Desktop.
Symbolize Array of Hashes in Ruby
# Deep symbolizes keys in hash
class Hash
def deep_sybolize_keys(value = self)
case value
when Array
value.map { |v| deep_sybolize_keys(v) }
when Hash
symbolize_hash(value)
else
value
end
end
def symbolize_hash(value)
Hash[value.map { |k, v| [k.to_sym, deep_sybolize_keys(v)] }]
end
end
@michaelachrisco
Copy link
Author

#Usage:
hash = [{'a' => 'b', 'c' => 'd'}]
hash(&:deep_sybolize_keys)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment