AASM - State machines for Ruby classes (plain Ruby, ActiveRecord, Mongoid, NoBrainer, Dynamoid)
Go to file
Scott Barron 9e240e70cb Fix README to reflect github gem installation
Fix README instructions for building your own gem
Fix VERSION - not sure why it was set to 3.0.0
2008-04-29 20:51:12 -04:00
doc Prepare rakefile and rake tasks for gem packaging and rdocing 2008-02-21 11:41:56 -05:00
lib Fix README to reflect github gem installation 2008-04-29 20:51:12 -04:00
spec make sure the 2 fields are in sync by using before_validation_on_create 2008-04-29 01:58:05 -04:00
.gitignore * Specs and bug fixes for the ActiveRecordPersistence, keeping persistence columns in sync 2008-04-29 01:27:56 -04:00
CHANGELOG Changed scott's email address to protect it from spambots when publishing rdocs 2008-04-29 02:12:27 -04:00
MIT-LICENSE Add .aasm_states method to get a list of all states for a class 2008-02-21 12:54:42 -05:00
README.rdoc Fix README to reflect github gem installation 2008-04-29 20:51:12 -04:00
Rakefile updated docs 2008-04-29 02:08:51 -04:00
TODO Add two event callbacks: 2008-03-02 07:52:46 -05:00
aasm.gemspec will changing the version make the stupid gem rebuild? 2008-04-29 18:33:54 -04:00
aasm.rb Import into git 2008-01-07 14:11:38 -05:00

README.rdoc

= AASM - Ruby state machines

This package contains AASM, a library for adding finite state machines to Ruby classes.

AASM started as the acts_as_state_machine plugin but has evolved into a more generic library that no longer targets only ActiveRecord models.

AASM has the following features:

* Feature

* Feature


== Download

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

=== 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

  % rake gem
  % sudo gem install pkg/aasm-0.0.2.gem


== 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

Author::  Scott Barron <scott at elitists dot net>
License:: Copyright 2006, 2007, 2008 by Scott Barron.
          Released under an MIT-style license.  See the LICENSE  file
          included in the distribution.

== 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.