Class: Pipeable::Steps::Merge

Inherits:
Abstract
  • Object
show all
Defined in:
lib/pipeable/steps/merge.rb

Overview

Merges initialized attributes with step object for use by subsequent step.

Instance Method Summary collapse

Methods included from Composable

#<<, #>>

Constructor Details

#initialize(as: :step) ⇒ Merge

Returns a new instance of Merge.



7
8
9
10
# File 'lib/pipeable/steps/merge.rb', line 7

def initialize(as: :step, **)
  super(**)
  @as = as
end

Instance Method Details

#call(result) ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'lib/pipeable/steps/merge.rb', line 12

def call result
  result.fmap do |object|
    if object.is_a? Hash
      object.merge! base_keywords
    else
      {as => object}.merge!(base_keywords)
    end
  end
end