Class: Aggro::SagaRunner
- Inherits:
-
Object
- Object
- Aggro::SagaRunner
- Includes:
- Aggregate
- Defined in:
- lib/aggro/saga_runner.rb,
lib/aggro/saga_runner/start_saga.rb
Overview
Private: Aggregate which runs saga processes.
Defined Under Namespace
Classes: StartSaga
Instance Method Summary collapse
- #bindings ⇒ Object
- #cancel_bindings ⇒ Object
- #reject(reason) ⇒ Object
- #resolve(value) ⇒ Object
- #transition(step_name, *args) ⇒ Object
Methods included from Aggregate
Methods included from Logging
Methods included from EventDSL
Instance Method Details
#bindings ⇒ Object
23 24 25 |
# File 'lib/aggro/saga_runner.rb', line 23 def bindings @bindings ||= [] end |
#cancel_bindings ⇒ Object
27 28 29 30 |
# File 'lib/aggro/saga_runner.rb', line 27 def cancel_bindings bindings.each(&:cancel) @bindings = [] end |
#reject(reason) ⇒ Object
32 33 34 35 36 |
# File 'lib/aggro/saga_runner.rb', line 32 def reject(reason) did.rejected reason: reason teardown end |
#resolve(value) ⇒ Object
38 39 40 41 42 |
# File 'lib/aggro/saga_runner.rb', line 38 def resolve(value) did.resolved value: value teardown end |
#transition(step_name, *args) ⇒ Object
44 45 46 47 48 49 |
# File 'lib/aggro/saga_runner.rb', line 44 def transition(step_name, *args) cancel_bindings did.transitioned state: step_name, args: args run_step step_name, args end |