microstate 0.1.0

Finite state machine, inspired by micromachine
Documentation
#[macro_use]
extern crate microstate;

microstate!{
    MicroMachine { New }
    states { New, Confirmed, Ignored }

    confirm {
        New => Confirmed
    }

    ignore {
        New => Ignored
    }

    reset {
        Confirmed => New
        Ignored   => New
    }
}

fn main() {
    let mut machine = MicroMachine::new();

    println!("{:?}", machine.confirm());
    println!("{:?}", machine.state());

    println!("{:?}", machine.ignore());
    println!("{:?}", machine.state());

    println!("{:?}", machine.reset());
    println!("{:?}", machine.state());

    println!("{:?}", machine.ignore());
    println!("{:?}", machine.state());
}