Module: FiniteMachine

Extended by:
ClassMethods
Defined in:
lib/finite_machine.rb,
lib/finite_machine/dsl.rb,
lib/finite_machine/env.rb,
lib/finite_machine/const.rb,
lib/finite_machine/hooks.rb,
lib/finite_machine/logger.rb,
lib/finite_machine/safety.rb,
lib/finite_machine/version.rb,
lib/finite_machine/callable.rb,
lib/finite_machine/listener.rb,
lib/finite_machine/observer.rb,
lib/finite_machine/catchable.rb,
lib/finite_machine/async_call.rb,
lib/finite_machine/definition.rb,
lib/finite_machine/events_map.rb,
lib/finite_machine/hook_event.rb,
lib/finite_machine/threadable.rb,
lib/finite_machine/transition.rb,
lib/finite_machine/subscribers.rb,
lib/finite_machine/state_parser.rb,
lib/finite_machine/choice_merger.rb,
lib/finite_machine/message_queue.rb,
lib/finite_machine/state_machine.rb,
lib/finite_machine/two_phase_lock.rb,
lib/finite_machine/event_definition.rb,
lib/finite_machine/state_definition.rb,
lib/finite_machine/transition_event.rb,
lib/finite_machine/transition_builder.rb,
lib/finite_machine/undefined_transition.rb

Defined Under Namespace

Modules: Catchable, ClassMethods, Logger, Safety, Threadable, TwoPhaseLock Classes: AsyncCall, Callable, ChoiceMerger, Const, DSL, Definition, Env, EventDefinition, EventsMap, GenericDSL, HookEvent, Hooks, Listener, MessageQueue, Observer, StateDefinition, StateMachine, StateParser, Subscribers, Transition, TransitionBuilder, TransitionEvent, UndefinedTransition

Constant Summary collapse

DEFAULT_STATE =

Default state name

:none
DEFAULT_EVENT_NAME =

Initial default event name

:init
ANY_STATE =

Describe any transition state

Const.new(:any)
ANY_EVENT =

Describe any event name

Const.new(:any_event)
TransitionError =

When transition between states is invalid

Class.new(::StandardError)
CallbackError =

When failed to process callback

Class.new(::StandardError)
InvalidStateError =

Raised when transitioning to invalid state

Class.new(::ArgumentError)
InvalidEventError =
Class.new(::NoMethodError)
InvalidCallbackNameError =

Raised when a callback is defined with invalid name

Class.new(::StandardError)
NotEnoughTransitionsError =

Raised when event has no transitions

Class.new(::ArgumentError)
MissingInitialStateError =

Raised when initial event specified without state name

Class.new(::StandardError)
MessageQueueDeadError =

Raised when event queue is already dead

Class.new(::StandardError)
AlreadyDefinedError =

Raised when argument is already defined

Class.new(::ArgumentError)
VERSION =
"0.14.1"

Instance Attribute Summary

Attributes included from ClassMethods

#logger

Method Summary

Methods included from ClassMethods

define, new