class AppleCore::Transforms::Enumerable
Public Class Methods
deep_transform_keys(object) { |key| ... }
click to toggle source
# File lib/apple_core/transforms/enumerable.rb, line 14 def self.deep_transform_keys(object, &block) case object when ::Hash object.each_with_object({}) do |(key, value), result| result[yield(key)] = deep_transform_keys(value, &block) end when ::Array object.map { |e| deep_transform_keys(e, &block) } else object end end
deep_transform_values(key, value) { |key, map { |v| deep_transform_values(nil, v, &block) }| ... }
click to toggle source
# File lib/apple_core/transforms/enumerable.rb, line 27 def self.deep_transform_values(key, value, &block) if value.is_a?(::Hash) value.each_with_object({}) do |(k, v), memo| memo[k] = deep_transform_values(k, v, &block) end elsif value.is_a?(::Array) yield( key, value.map { |v| deep_transform_values(nil, v, &block) } ) else yield(key, value) end end
deep_underscore_keys(other)
click to toggle source
# File lib/apple_core/transforms/enumerable.rb, line 10 def self.deep_underscore_keys(other) deep_transform_keys(other, &:underscore) end