Interfaces for state machines.

v0.1-alpha1 2018-05-15 08:27 UTC

This package is auto-updated.

Last update: 2021-01-06 19:29:19 UTC


Build Status Code Climate Test Coverage Latest Stable Version This package complies with Dhii standards

Interfaces for state machines.

This package aims to provide a standard set of interfaces for working with state machines. For clarity and completion, some terminology must first the defined:


A status is a key or code that identifies a state. State machines will often have a status key for every possible state as well as a current status.


A state is a conceptual "frame" in time for a given object. Unlike a status which is simply a key or code, a state typically holds all information about a machine or object at a given status or point in time.


A transition is a key or code that represents an operation that can be performed on a machine or object. This operation can influence that subject's status and state.