This gem is meant to be used in conjunction with the state_machine gem in a Rails3 project. It will hook into before_save and track any state changes that happen in its own database table.
To that end, you need a migration that looks something like this:
class CreateStateMachineStateAudits < ActiveRecord::Migration def self.up create_table :state_machine_state_audits do |t| t.string :state_machine_auditable_type t.integer :state_machine_auditable_id t.string :state_field t.string :state t.timestamps end end def self.down drop_table :state_machine_state_audits end end
After that, you just include the module in your class that uses state_machine like so:
class SomeClass < ActiveRecord::Base include StateMachineAudits end
That's it, you're done. Now it will keep a record of each state transition.