2008-03-04 23:59:58 +00:00
|
|
|
= AASM - Ruby state machines
|
2008-02-22 23:23:19 +00:00
|
|
|
|
2008-03-04 23:59:58 +00:00
|
|
|
This package contains AASM, a library for adding finite state machines to Ruby classes.
|
2008-02-22 23:23:19 +00:00
|
|
|
|
2008-03-04 23:59:58 +00: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 23:23:19 +00:00
|
|
|
|
2008-03-04 23:59:58 +00:00
|
|
|
AASM has the following features:
|
2008-02-22 23:23:19 +00:00
|
|
|
|
2008-05-29 14:24:01 +00:00
|
|
|
* States
|
|
|
|
* Machines
|
|
|
|
* Events
|
|
|
|
* Transitions
|
2008-02-22 23:23:19 +00:00
|
|
|
|
2008-03-04 23:59:58 +00:00
|
|
|
== Download
|
2008-02-22 23:23:19 +00:00
|
|
|
|
2008-03-04 23:59:58 +00: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-30 00:51:12 +00: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 23:59:58 +00:00
|
|
|
|
|
|
|
% rake gem
|
2008-07-09 23:42:04 +00:00
|
|
|
% sudo gem install pkg/aasm-2.0.1.gem
|
2008-03-04 23:59:58 +00:00
|
|
|
|
|
|
|
|
|
|
|
== Simple Example
|
|
|
|
|
|
|
|
Here's a quick example highlighting some of the features.
|
|
|
|
|
|
|
|
class Conversation
|
|
|
|
include AASM
|
|
|
|
|
2008-12-29 15:05:07 +00:00
|
|
|
aasm_initial_state :unread
|
2008-03-04 23:59:58 +00:00
|
|
|
|
2008-12-29 15:05:07 +00:00
|
|
|
aasm_state :unread
|
2008-03-04 23:59:58 +00:00
|
|
|
aasm_state :read
|
|
|
|
aasm_state :closed
|
|
|
|
|
|
|
|
|
|
|
|
aasm_event :view do
|
2008-12-29 15:05:07 +00:00
|
|
|
transitions :to => :read, :from => [:unread]
|
2008-03-04 23:59:58 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
aasm_event :close do
|
2008-12-29 15:05:07 +00:00
|
|
|
transitions :to => :closed, :from => [:read, :unread]
|
2008-03-04 23:59:58 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
= Other Stuff
|
|
|
|
|
2008-04-29 06:12:27 +00:00
|
|
|
Author:: Scott Barron <scott at elitists dot net>
|
2008-03-04 23:59:58 +00: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 15:49:26 +00:00
|
|
|
Bugs:: http://rubyist.lighthouseapp.com/projects/13207-aasm/
|
2008-06-22 15:50:22 +00:00
|
|
|
GitHub:: http://github.com/rubyist/aasm/tree/master
|
2008-03-04 23:59:58 +00: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.
|