GenFsm

Elixir wrapper around Erlang's OTP gen_fsm.

Motivation

Elixir deprecated its wrapper around OTP's gen_fsm from the standard library because it is difficult to understand and suggested that developers seek other finite state machine implementations.

This is understandable, but some of us still need/prefer to use the OTP gen_fsm.

I took the basis of Elixir's old GenFSM.Behaviour and added some additional convenience methods. Currently missing are the start_link, stop, and enter_loop methods

Documentation

Complete API documentation can be found at (http://erlang.org/doc/man/gen_fsm.html) and OTP design principal documentation lives at (http://erlang.org/doc/man/gen_fsm.html)

Installation

If available in Hex, the package can be installed as:

  1. Add gen_fsm to your list of dependencies in mix.exs:

    def deps do [{:gen_fsm, "~> 0.0.1"}] end