class Dotpretty::StateMachine::StateMachineBuilder
Attributes
initial_state[RW]
observer[RW]
states[RW]
Public Class Methods
build(observer, &definition)
click to toggle source
# File lib/dotpretty/state_machine/state_machine_builder.rb, line 49 def self.build(observer, &definition) builder = Dotpretty::StateMachine::StateMachineBuilder.new(observer) builder.instance_eval(&definition) return builder.build end
new(observer)
click to toggle source
# File lib/dotpretty/state_machine/state_machine_builder.rb, line 55 def initialize(observer) self.observer = observer self.states = {} end
Public Instance Methods
build()
click to toggle source
# File lib/dotpretty/state_machine/state_machine_builder.rb, line 66 def build Dotpretty::StateMachine::StateMachine.new({ initial_state: initial_state, observer: observer, states: states }) end
state(name, &definition)
click to toggle source
# File lib/dotpretty/state_machine/state_machine_builder.rb, line 60 def state(name, &definition) state = StateDetailsBuilder.build(name, &definition) states[name] = state self.initial_state = name if !initial_state end