Sha256: 02bd11733e3799d50ea5298a92763236e9a9f3531d64bbd0216e4eafdfb61f5f

Contents?: true

Size: 390 Bytes

Versions: 32

Compression:

Stored size: 390 Bytes

Contents

# frozen_string_literal: true

module DeepCover
  module Tools::Merge
    def merge(*hashes)
      if hashes.last.is_a?(Symbol)
        oper = hashes.pop
        merge(*hashes) { |a, b| a.public_send(oper, b) }
      elsif !block_given?
        merge(*hashes, &:last)
      else
        hashes.inject { |result, h| result.merge(h) { |key, a, b| yield [a, b] } }
      end
    end
  end
end

Version data entries

32 entries across 32 versions & 2 rubygems

Version Path
deep-cover-core-1.1.0 lib/deep_cover/tools/merge.rb
deep-cover-core-1.0.0 lib/deep_cover/tools/merge.rb
deep-cover-core-0.8.1 lib/deep_cover/tools/merge.rb
deep-cover-core-0.8.0 lib/deep_cover/tools/merge.rb
deep-cover-core-0.7.10 lib/deep_cover/tools/merge.rb
deep-cover-core-0.7.9 lib/deep_cover/tools/merge.rb
deep-cover-core-0.7.8 lib/deep_cover/tools/merge.rb
deep-cover-core-0.7.7 lib/deep_cover/tools/merge.rb
deep-cover-core-0.7.6 lib/deep_cover/tools/merge.rb
deep-cover-core-0.7.5 lib/deep_cover/tools/merge.rb
deep-cover-core-0.7.4 lib/deep_cover/tools/merge.rb
deep-cover-core-0.7.3 lib/deep_cover/tools/merge.rb
deep-cover-core-0.7.2 lib/deep_cover/tools/merge.rb
deep-cover-core-0.7.1 lib/deep_cover/tools/merge.rb
deep-cover-core-0.7.0 lib/deep_cover/tools/merge.rb
deep-cover-core-0.6.4 lib/deep_cover/tools/merge.rb
deep-cover-core-0.6.3 lib/deep_cover/tools/merge.rb
deep-cover-core-0.6.3.pre lib/deep_cover/tools/merge.rb
deep-cover-0.6.2 lib/deep_cover/tools/merge.rb
deep-cover-0.6.1 lib/deep_cover/tools/merge.rb