module FiniteMachine::ClassMethods

Attributes

logger[RW]

Public Instance Methods

define(&block) click to toggle source

A factory method for creating reusable FiniteMachine definitions

@example

TrafficLights = FiniteMachine.define
lights_fm_a = TrafficLights.new
lights_fm_b = TrafficLights.new

@return [Class]

@api public

# File lib/finite_machine.rb, line 77
def define(&block)
  Class.new(Definition, &block)
end
new(*args, &block) click to toggle source

Initialize an instance of finite machine

@example

FiniteMachine.new do
  ...
end

@return [FiniteMachine::StateMachine]

@api public

# File lib/finite_machine.rb, line 63
def new(*args, &block)
  StateMachine.new(*args, &block)
end