Sha256: 78f1d0012c640d66d2afd6b011314f817f4b895a7fa78e7a24bcab8715a0cfa2
Contents?: true
Size: 443 Bytes
Versions: 2
Compression:
Stored size: 443 Bytes
Contents
class Hash def deep_transform_keys(&block) deep_transform_in_object(self, &block) end private def deep_transform_in_object(obj, &block) case obj when Hash obj.each_with_object({}) do |(key,value), result| result[yield(key)] = deep_transform_in_object(value, &block) end when Array obj.map { |el| deep_transform_in_object(el, &block) } else obj end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
cp-sparrow-0.0.12 | lib/sparrow/core_ext/hash.rb |
cp-sparrow-0.0.11 | lib/sparrow/core_ext/hash.rb |