2008-03-04 18:59:58 -05:00
|
|
|
= AASM - Ruby state machines
|
2008-02-22 18:23:19 -05:00
|
|
|
|
2008-03-04 18:59:58 -05:00
|
|
|
This package contains AASM, a library for adding finite state machines to Ruby classes.
|
2008-02-22 18:23:19 -05:00
|
|
|
|
2008-03-04 18:59:58 -05:00
|
|
|
AASM started as the acts_as_state_machine plugin but has evolved into a more generic library that no longer targets only ActiveRecord models.
|
2008-02-22 18:23:19 -05:00
|
|
|
|
2008-03-04 18:59:58 -05:00
|
|
|
AASM has the following features:
|
2008-02-22 18:23:19 -05:00
|
|
|
|
2008-05-29 10:24:01 -04:00
|
|
|
* States
|
|
|
|
* Machines
|
|
|
|
* Events
|
|
|
|
* Transitions
|
2008-02-22 18:23:19 -05:00
|
|
|
|
2008-03-04 18:59:58 -05:00
|
|
|
== Download
|
2008-02-22 18:23:19 -05:00
|
|
|
|
2008-03-04 18:59:58 -05:00
|
|
|
The latest AASM can currently be pulled from the git repository on github.
|
|
|
|
|
|
|
|
* http://github.com/rubyist/aasm/tree/master
|
|
|
|
|
|
|
|
A release and a gem are forthcoming.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
== Installation
|
|
|
|
|
2008-04-29 20:51:12 -04:00
|
|
|
=== From GitHub hosted gems
|
|
|
|
|
|
|
|
% sudo gem sources -a http://gems.github.com # (you only need to do this once)
|
|
|
|
% sudo gem install rubyist-aasm
|
|
|
|
|
|
|
|
=== Building your own gems
|
2008-03-04 18:59:58 -05:00
|
|
|
|
|
|
|
% rake gem
|
2008-07-09 19:42:04 -04:00
|
|
|
% sudo gem install pkg/aasm-2.0.1.gem
|
2008-03-04 18:59:58 -05:00
|
|
|
|
|
|
|
|
|
|
|
== Simple Example
|
|
|
|
|
|
|
|
Here's a quick example highlighting some of the features.
|
|
|
|
|
|
|
|
class Conversation
|
|
|
|
include AASM
|
|
|
|
|
|
|
|
aasm_initial_state :new
|
|
|
|
|
|
|
|
aasm_state :new
|
|
|
|
aasm_state :read
|
|
|
|
aasm_state :closed
|
|
|
|
|
|
|
|
|
|
|
|
aasm_event :view do
|
|
|
|
transitions :to => :read, :from => [:new]
|
|
|
|
end
|
|
|
|
|
|
|
|
aasm_event :close do
|
|
|
|
transitions :to => :closed, :from => [:read, :new]
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
= Other Stuff
|
|
|
|
|
2008-04-29 02:12:27 -04:00
|
|
|
Author:: Scott Barron <scott at elitists dot net>
|
2008-03-04 18:59:58 -05:00
|
|
|
License:: Copyright 2006, 2007, 2008 by Scott Barron.
|
|
|
|
Released under an MIT-style license. See the LICENSE file
|
|
|
|
included in the distribution.
|
2008-06-22 11:49:26 -04:00
|
|
|
Bugs:: http://rubyist.lighthouseapp.com/projects/13207-aasm/
|
2008-06-22 11:50:22 -04:00
|
|
|
GitHub:: http://github.com/rubyist/aasm/tree/master
|
2008-03-04 18:59:58 -05:00
|
|
|
|
|
|
|
== Warranty
|
|
|
|
|
|
|
|
This software is provided "as is" and without any express or
|
|
|
|
implied warranties, including, without limitation, the implied
|
|
|
|
warranties of merchantibility and fitness for a particular
|
|
|
|
purpose.
|