<img align="right" src="">

# 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 
and added some additional convenience methods.  Currently missing are the `enter_loop` methods.

## Usage

Just `use GenFSM` in your FSM module
defmodule MyFSM do
  use GenFSM
  # TODO: add some better examples

## 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"}]

## Documentation

Complete [API documentation]( can be found at
and OTP [design principal documentation]( 
lives at