Sha256: 831dc3c7eb2a16c554eccd481324cca7d62bd76f2ffa3cbea0db5e7838f04358
Contents?: true
Size: 977 Bytes
Versions: 3
Compression:
Stored size: 977 Bytes
Contents
# frozen_string_literal: true require 'attr/gather/aggregators/base' module Attr module Gather module Aggregators # Shallowly merges results # # @api public class ShallowMerge < Base # Initialize a new DeepMerge aggregator # # @param reverse [Boolean] merge results in reverse order # @param merge_input [Boolean] merge the result with the initial input # # @api private def initialize(reverse: false, merge_input: true, **) @reverse = reverse @merge_input = merge_input super end def call(input, execution_results) execution_results = execution_results.reverse_each if reverse? execution_results.reduce(@merge_input ? input : EMPTY_HASH) do |memo, res| memo.merge(unwrap_result(res)) end end private def reverse? @reverse end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems