Sha256: e0170dbb4f21b8ae501893e082aa24849f7a943b548ae1e7229ace1a16d38dde
Contents?: true
Size: 738 Bytes
Versions: 12
Compression:
Stored size: 738 Bytes
Contents
class ImageOptim module HashHelpers class << self def deep_transform_keys(hash, &block) new_hash = {} hash.each do |k, v| new_hash[block.call(k)] = if v.is_a?(Hash) deep_transform_keys(v, &block) else v end end new_hash end def deep_stringify_keys(hash) deep_transform_keys(hash, &:to_s) end def deep_symbolise_keys(hash) deep_transform_keys(hash, &:to_sym) end def deep_merge(a, b) a.merge(b) do |k, v_a, v_b| if v_a.is_a?(Hash) && v_b.is_a?(Hash) deep_merge(v_a, v_b) else v_b end end end end end end
Version data entries
12 entries across 12 versions & 1 rubygems