Adapter to allow ActiveRecord to persist and restore state of objects using the AlterEgo state machine
= AlterEgo-ActiveRecord
== Motivation AlterEgo is my favorite Ruby state machine for the following reasons:
Out of the box, AlterEgo doesn't play nicely with ActiveRecord because it stores state in @state, whereas subclasses of ActiveRecord::Base persist their attributes hash.
This mixin overrides the AlterEgo's accessor methods for state to allow it to be properly persisted to a database, as well as serialized/unserialized as json, yml, and xml.
== Installation === As a Ruby Gem gem install alter-ego-activerecord === OR as a Rails plugin script/plugin install git://github.com/pavlos/alter-ego-activerecord.git
== Usage Make sure the table your class maps to has a state column of type varchar, string, etc.
gem 'alter-ego-activerecord' require 'alter_ego/active_record_adapter'
class Example < ActiveRecord::Base include AlterEgo # include this first include AlterEgo::ActiveRecordAdapter
# Your code here
end