class Raft4r::StateScope
Attributes
name[R]
onenter[R]
onleave[R]
triggers[R]
Public Class Methods
new(name)
click to toggle source
# File lib/raft4r/fsm.rb, line 4 def initialize name @name = name @triggers = {} end
Public Instance Methods
enter(&block)
click to toggle source
# File lib/raft4r/fsm.rb, line 17 def enter &block @onenter = block end
leave(&block)
click to toggle source
# File lib/raft4r/fsm.rb, line 21 def leave &block @onleave = block end
trigger(t, &block)
click to toggle source
# File lib/raft4r/fsm.rb, line 9 def trigger t, &block t = [t] if !(Array === t) t.each {|e| raise 'trigger already exists' if @triggers[e] @triggers[e] = block } end