module Utilise::Augment::Hash
Extends a hash to modify keys
Public Instance Methods
camel_keys()
click to toggle source
Transforms all keys to camel case
# File lib/utilise/augment/hash.rb, line 13 def camel_keys utilise_deep_transform_keys(self, &:camel) end
snake_keys()
click to toggle source
Transforms all keys to snake case
# File lib/utilise/augment/hash.rb, line 8 def snake_keys utilise_deep_transform_keys(self, &:snake) end
space_keys()
click to toggle source
Transforms all keys to space case
# File lib/utilise/augment/hash.rb, line 18 def space_keys utilise_deep_transform_keys(self, &:space) end
string_keys()
click to toggle source
Transforms all keys to a string
# File lib/utilise/augment/hash.rb, line 23 def string_keys utilise_deep_transform_keys(self, &:to_s) end
symbol_keys()
click to toggle source
Transforms all keys to a symbol
# File lib/utilise/augment/hash.rb, line 28 def symbol_keys utilise_deep_transform_keys(self, &:to_sym) end
Private Instance Methods
utilise_deep_transform_keys(object) { |key| ... }
click to toggle source
Deep transform keys in object An awesome piece of code from rails apidock.com/rails/Hash/_deep_transform_keys_in_object
# File lib/utilise/augment/hash.rb, line 37 def utilise_deep_transform_keys(object, &block) case object when Hash object.each_with_object({}) do |(key, value), result| result[yield(key)] = utilise_deep_transform_keys(value, &block) end when Array object.map { |e| utilise_deep_transform_keys(e, &block) } else object end end