Class: Decouplio::Steps::InnerActionStep

Inherits:
BaseStep
  • Object
show all
Defined in:
lib/decouplio/steps/inner_action_step.rb

Instance Attribute Summary

Attributes inherited from BaseStep

#name

Instance Method Summary collapse

Constructor Details

#initialize(name:, action:, on_success_type:, on_failure_type:) ⇒ InnerActionStep

Returns a new instance of InnerActionStep.



9
10
11
12
13
14
15
# File 'lib/decouplio/steps/inner_action_step.rb', line 9

def initialize(name:, action:, on_success_type:, on_failure_type:)
  super()
  @name = name
  @action = action
  @on_success_type = on_success_type
  @on_failure_type = on_failure_type
end

Instance Method Details

#process(instance:) ⇒ Object



17
18
19
20
21
22
23
24
25
26
# File 'lib/decouplio/steps/inner_action_step.rb', line 17

def process(instance:)
  instance.append_railway_flow(@name)
  outcome = @action.call(
    parent_ctx: instance.ctx,
    parent_railway_flow: instance.railway_flow,
    meta_store: instance.ms
  )

  resolve(outcome: outcome, instance: instance)
end