Module: Statecraft::Machine
- Defined in:
- lib/statecraft/machine.rb
Overview
The machine DSL and its compiler. A machine is declared in a dedicated
class (include Statecraft::Machine), collects states, edges, events and
callbacks, and compiles them into a deep-frozen graph on finalization.
Guard and callback symbols resolve to instance methods of the machine
class; callables are honored with a plain call and arity dispatch.
Defined Under Namespace
Modules: ClassMethods, Handlers Classes: Callback, CompiledGraph, Compiler, Edge
Constant Summary collapse
- CALLBACK_PHASES =
%i[before_transition after_transition after_commit].freeze
Class Method Summary collapse
Class Method Details
.included(machine_class) ⇒ Object
24 25 26 27 |
# File 'lib/statecraft/machine.rb', line 24 def self.included(machine_class) machine_class.extend(ClassMethods) machine_class.extend(Diagram) end |