lib/attr/gather/aggregators/deep_merge.rb in attr-gather-1.1.1 vs lib/attr/gather/aggregators/deep_merge.rb in attr-gather-1.1.2
- old
+ new
@@ -21,19 +21,23 @@
super
end
def call(input, execution_results)
execution_results = execution_results.reverse_each if reverse?
- initial = merge_input? ? input.dup : {}
+ initial = unwrap_initial_input(input)
result = execution_results.reduce(initial) do |memo, res|
deep_merge(memo, unwrap_result(res))
end
wrap_result(result)
end
private
+
+ def unwrap_initial_input(input)
+ merge_input? ? filter.call(input.dup).value : {}
+ end
def reverse?
@reverse
end