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