Sha256: a8655620e95b6b02a76641094ac162e9541a27a6187b9cb23e6ce67e64a16365

Contents?: true

Size: 590 Bytes

Versions: 1

Compression:

Stored size: 590 Bytes

Contents

# frozen_string_literal: true

module Darthjee
  module CoreExt
    module Hash
      module Transformable
        def squash
          Hash::Squasher.squash(self)
        end

        def to_deep_hash(separator = '.')
          Hash::DeepHashConstructor.new(separator).deep_hash(self)
        end

        def map_to_hash(&block)
          Hash::ToHashMapper.new(self).map(&block)
        end

        def exclusive_merge(hash)
          dup.exclusive_merge!(hash)
        end

        def exclusive_merge!(hash)
          merge!(hash.slice(*keys))
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
darthjee-core_ext-1.7.0 lib/darthjee/core_ext/hash/transformable.rb