class Attr::Gather::Aggregators::ShallowMerge
Shallowly merges results
@api public
Public Class Methods
new(reverse: false, merge_input: true, **)
click to toggle source
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
Calls superclass method
Attr::Gather::Aggregators::Base::new
# File lib/attr/gather/aggregators/shallow_merge.rb, line 18 def initialize(reverse: false, merge_input: true, **) @reverse = reverse @merge_input = merge_input super end
Public Instance Methods
call(input, execution_results)
click to toggle source
# File lib/attr/gather/aggregators/shallow_merge.rb, line 24 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 Instance Methods
reverse?()
click to toggle source
# File lib/attr/gather/aggregators/shallow_merge.rb, line 34 def reverse? @reverse end