Module: Statecraft::Pipeline::Surface
- Defined in:
- lib/statecraft/pipeline.rb
Overview
The record-facing API mixed into the model at mounting time. Bang variants return the created log record; non-bang variants return it too, or false on GuardFailed / InvalidTransition. Programmer errors and TransitionConflict always raise.
Instance Method Summary collapse
- #fire(event_name, metadata: {}) ⇒ Object
- #fire!(event_name, metadata: {}) ⇒ Object
- #transition_to(to_state, metadata: {}, bypass_events: false) ⇒ Object
- #transition_to!(to_state, metadata: {}, bypass_events: false) ⇒ Object
Instance Method Details
#fire(event_name, metadata: {}) ⇒ Object
54 55 56 57 58 |
# File 'lib/statecraft/pipeline.rb', line 54 def fire(event_name, metadata: {}) fire!(event_name, metadata: ) rescue GuardFailed, InvalidTransition false end |
#fire!(event_name, metadata: {}) ⇒ Object
50 51 52 |
# File 'lib/statecraft/pipeline.rb', line 50 def fire!(event_name, metadata: {}) Pipeline.new(self).fire(event_name, metadata: ) end |
#transition_to(to_state, metadata: {}, bypass_events: false) ⇒ Object
44 45 46 47 48 |
# File 'lib/statecraft/pipeline.rb', line 44 def transition_to(to_state, metadata: {}, bypass_events: false) transition_to!(to_state, metadata: , bypass_events: bypass_events) rescue GuardFailed, InvalidTransition false end |