README.md
# ExFSM #
[![Build Status](https://travis-ci.org/awetzel/exfsm.svg?branch=master)](https://travis-ci.org/awetzel/exfsm)
Simple elixir library to define composable FSM as function
(not related at all with `:gen_fsm`, no state/process management).
- define FSM with handler modules defining each transition as a simple function but using a
macro `deftrans` which creates a function `fsm` returning the fsm transition map for this handler module.
- `deftrans` has the same semantic as [erlang in memory FSM gen_fsm](http://www.erlang.org/doc/man/gen_fsm.html)
- combine together multiple fsm handlers to create a "meta" FSM.
- send event with the function `event` which simply find the right
handler, execute the handler function.
## Usage ##
See in [in code documentation](http://hexdocs.pm/exfsm)