module Pione::Agent::StateTransitionSingletonMethod
StateTransitionSingleMethod provides state transition singleton methods.
Public Instance Methods
chain(data)
click to toggle source
Define a transition chain.
# File lib/pione/agent/basic-agent.rb, line 38 def chain(data) data.each do |k, v| raise ArgumentError.new(k) if not(@transitions.include?(k)) if not(v.is_a?(Proc)) (v.is_a?(Array) ? v : [v]).each do |_v| raise ArgumentError.new(_v) if not(@transitions.include?(_v)) end end end transition_chain.merge!(data) end
define_exception_handler(data)
click to toggle source
Define a transition for handling exceptions.
# File lib/pione/agent/basic-agent.rb, line 56 def define_exception_handler(data) exception_handler.merge!(data) end
define_transition(name)
click to toggle source
Defines a new transition.
# File lib/pione/agent/basic-agent.rb, line 20 def define_transition(name) @transitions ||= [] unless @transitions.include?(name) @transitions << name # define empty transition method unless method_defined?("transit_to_#{name}") define_method("transit_to_#{name}") {} end end end
exception_handler()
click to toggle source
Return exception handler table.
# File lib/pione/agent/basic-agent.rb, line 51 def exception_handler @exception_handler ||= {} end
start(*args, &b)
click to toggle source
Creates an agent and starts it.
# File lib/pione/agent/basic-agent.rb, line 61 def start(*args, &b) agent = new(*args, &b) return agent.start end
transition_chain()
click to toggle source
Returns transition chain table.
# File lib/pione/agent/basic-agent.rb, line 33 def transition_chain @transition_chain ||= {nil => :init} end