Class: Plumbing::Operation::ActionBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/plumbing/operation/dsl.rb

Overview

Returned by action so .then can set its single transition.

Instance Method Summary collapse

Constructor Details

#initialize(klass, name) ⇒ ActionBuilder

Returns a new instance of ActionBuilder.



106
107
108
109
# File 'lib/plumbing/operation/dsl.rb', line 106

def initialize(klass, name)
  @klass = klass
  @name = name
end

Instance Method Details

#then(target) ⇒ Object



111
112
113
114
115
# File 'lib/plumbing/operation/dsl.rb', line 111

def then(target)
  state = @klass.states.fetch(@name)
  @klass.states[@name] = State.new(**state.to_h.merge(transitions: [Transition.new(target: target.to_sym, guard: nil, label: nil)].freeze))
  @name
end