Table of Contents - state_machine
Pages
CHANGELOG
master
1.1.2 / 2012-01-20
1.1.1 / 2011-12-31
1.1.0 / 2011-11-13
1.0.3 / 2011-11-03
1.0.2 / 2011-08-09
1.0.1 / 2011-05-30
1.0.0 / 2011-05-12
0.10.4 / 2011-04-14
0.10.3 / 2011-04-07
0.10.2 / 2011-03-31
0.10.1 / 2011-03-22
0.10.0 / 2011-03-19
0.9.4 / 2010-08-01
0.9.3 / 2010-06-26
0.9.2 / 2010-05-24
0.9.1 / 2010-05-02
0.9.0 / 2010-04-12
0.8.1 / 2010-03-14
0.8.0 / 2009-08-15
0.7.6 / 2009-06-17
0.7.5 / 2009-05-25
0.7.4 / 2009-05-23
0.7.3 / 2009-04-25
0.7.2 / 2009-04-08
0.7.1 / 2009-04-05
0.7.0 / 2009-04-04
0.6.3 / 2009-03-10
0.6.2 / 2009-03-08
0.6.1 / 2009-03-07
0.6.0 / 2009-03-03
0.5.2 / 2009-02-17
0.5.1 / 2009-02-11
0.5.0 / 2009-01-11
0.4.3 / 2008-12-28
0.4.2 / 2008-12-28
0.4.1 / 2008-12-16
0.4.0 / 2008-12-14
0.3.1 / 2008-10-26
0.3.0 / 2008-09-07
0.2.1 / 2008-07-05
0.2.0 / 2008-06-29
0.1.1 / 2008-06-22
0.1.0 / 2008-05-05
0.0.1 / 2007-09-26
LICENSE
README
state_machine
]
]
Resources
Description
Usage
Example
Integrations
ActiveModel
ActiveRecord
DataMapper
Mongoid
MongoMapper
Sequel
Additional Topics
Symbols vs. Strings
Syntax flexibility
Verbose syntax
Transition context
Static / Dynamic definitions
Core Extensions
Tools
Generating graphs
Examples
Interactive graphs
Web Frameworks
Ruby on Rails
1. Install the gem
2. Create a model
3. Configure the state machine
Rake tasks
Merb
Rake tasks
Testing
Caveats
Dependencies
state_machine.rake
Classes/Modules
ActiveModel
ActiveRecord
ActiveRecord::VERSION
DataMapper
DataMapper::Observer
I18n
Merb
Object
Rails
Rails::VERSION
Rake
StateMachine
StateMachine::AllMatcher
StateMachine::Assertions
StateMachine::AttributeTransitionCollection
StateMachine::BlacklistMatcher
StateMachine::Branch
StateMachine::Callback
StateMachine::Callback::method;
StateMachine::ClassMethods
StateMachine::Error
StateMachine::EvalHelpers
StateMachine::Event
StateMachine::EventCollection
StateMachine::HelperModule
StateMachine::InstanceMethods
StateMachine::IntegrationNotFound
StateMachine::Integrations
StateMachine::Integrations::ActiveModel
Examples
Actions
Validations
Validation errors
Security implications
Callbacks
Observers
Internationalization
Dirty Attribute Tracking
Creating new integrations
StateMachine::Integrations::ActiveModel::Observer
StateMachine::Integrations::ActiveRecord
Examples
Actions
Events
Security implications
Transactions
Validations
Validation errors
Scopes
Callbacks
Failure callbacks
Observers
Internationalization
StateMachine::Integrations::Base
StateMachine::Integrations::Base::ClassMethods
StateMachine::Integrations::DataMapper
Examples
Actions
Events
Security implications
Transactions
Validation errors
Scopes
Callbacks / Observers
Failure callbacks
StateMachine::Integrations::DataMapper::Observer
Requirements
StateMachine::Integrations::MongoMapper
Examples
Actions
Events
Security implications
Validations
Validation errors
Scopes
Callbacks
Internationalization
StateMachine::Integrations::Mongoid
Examples
Actions
Events
Security implications
Validations
Validation errors
Scopes
Callbacks
Observers
Internationalization
StateMachine::Integrations::Sequel
Examples
Actions
Events
Security implications
Transactions
Validation errors
Scopes
Callbacks
Failure callbacks
StateMachine::InvalidEvent
StateMachine::InvalidParallelTransition
StateMachine::InvalidTransition
StateMachine::LoopbackMatcher
StateMachine::Machine
Actions
Indirect transitions
Callbacks
Canceling callbacks
Observers
Overriding instance / class methods
Method conflicts
Integrations
StateMachine::Machine::ancestor;
StateMachine::Machine::owner_class;
StateMachine::MachineCollection
StateMachine::MacroMethods
StateMachine::Matcher
StateMachine::MatcherHelpers
StateMachine::NodeCollection
StateMachine::Path
StateMachine::PathCollection
StateMachine::RailsEngine
StateMachine::State
StateMachine::StateCollection
StateMachine::StateContext
Examples
StateMachine::Transition
StateMachine::TransitionCollection
StateMachine::WhitelistMatcher
Methods
::active? — StateMachine::Integrations::Mongoid
::active? — StateMachine::Integrations::ActiveRecord
::active? — StateMachine::Integrations::ActiveModel
::active? — StateMachine::Integrations::MongoMapper
::active? — StateMachine::Integrations::DataMapper
::active? — StateMachine::Integrations::Sequel
::all — StateMachine::Integrations
::available? — StateMachine::Integrations::Mongoid
::available? — StateMachine::Integrations::MongoMapper
::available? — StateMachine::Integrations::ActiveModel
::available? — StateMachine::Integrations::Sequel
::available? — StateMachine::Integrations::ActiveRecord
::available? — StateMachine::Integrations::DataMapper
::draw — StateMachine::Machine
::find_by_name — StateMachine::Integrations
::find_or_create — StateMachine::Machine
::match — StateMachine::Integrations
::matches? — StateMachine::Integrations::Mongoid
::matches? — StateMachine::Integrations::Sequel
::matches? — StateMachine::Integrations::MongoMapper
::matches? — StateMachine::Integrations::ActiveModel
::matches? — StateMachine::Integrations::ActiveRecord
::matches? — StateMachine::Integrations::DataMapper
::new — StateMachine::PathCollection
::new — StateMachine::NodeCollection
::new — StateMachine::TransitionCollection
::new — StateMachine::Callback
::new — StateMachine::StateContext
::new — StateMachine::IntegrationNotFound
::new — StateMachine::Path
::new — StateMachine::Machine
::new — StateMachine::Matcher
#- — StateMachine::AllMatcher
#<< — StateMachine::NodeCollection
#== — StateMachine::Transition
#[] — StateMachine::NodeCollection
#action — StateMachine::Transition
#action_hook — StateMachine::Machine
#action_hook — StateMachine::Integrations::DataMapper
#action_hook — StateMachine::Integrations::MongoMapper
#action_hook — StateMachine::Integrations::Sequel
#action_hook — StateMachine::Integrations::ActiveRecord
#action_hook? — StateMachine::Machine
#actions — StateMachine::TransitionCollection
#add_actions — StateMachine::Event
#add_callback — StateMachine::Integrations::ActiveModel
#add_callback — StateMachine::Integrations::DataMapper
#add_callback — StateMachine::Machine
#add_callback — StateMachine::Integrations::Sequel
#add_default_callbacks — StateMachine::Integrations::ActiveModel
#add_events — StateMachine::Machine
#add_events — StateMachine::Integrations::ActiveModel
#add_predicate — StateMachine::State
#add_sibling_machine_configs — StateMachine::Machine
#add_states — StateMachine::Machine
#add_states — StateMachine::Integrations::ActiveModel
#add_to_index — StateMachine::NodeCollection
#add_transition_callback — StateMachine::Integrations::DataMapper::Observer
#after — StateMachine::Transition
#after_failure — StateMachine::Machine
#after_initialize — StateMachine::Integrations::DataMapper
#after_initialize — StateMachine::Integrations::ActiveModel
#after_initialize — StateMachine::Machine
#after_transition — StateMachine::Integrations::DataMapper::Observer
#after_transition — StateMachine::Machine
#after_transition_failure — StateMachine::Integrations::DataMapper::Observer
#all — StateMachine::MatcherHelpers
#ancestors_for — StateMachine::Integrations::ActiveRecord
#ancestors_for — StateMachine::Integrations::ActiveModel
#any — StateMachine::MatcherHelpers
#around_save — StateMachine::Integrations::MongoMapper
#around_save — StateMachine::Integrations::Mongoid
#around_save — StateMachine::Integrations::ActiveRecord
#around_transition — StateMachine::Machine
#around_transition — StateMachine::Integrations::DataMapper::Observer
#around_validation — StateMachine::Integrations::ActiveModel
#assert_exclusive_keys — StateMachine::Assertions
#assert_valid_keys — StateMachine::Assertions
#at — StateMachine::NodeCollection
#attribute — StateMachine::Machine
#attribute — StateMachine::Transition
#attribute_column — StateMachine::Integrations::Sequel
#attribute_column — StateMachine::Integrations::ActiveRecord
#attribute_transition_for — StateMachine::EventCollection
#attributes — StateMachine::Transition
#available? — StateMachine::Integrations::Base::ClassMethods
#before — StateMachine::Transition
#before_transition — StateMachine::Integrations::DataMapper::Observer
#before_transition — StateMachine::Machine
#bound_method — StateMachine::Callback
#build_matcher — StateMachine::Branch
#by_priority — StateMachine::StateCollection
#cache_value? — StateMachine::State
#call — StateMachine::State
#call — StateMachine::Callback
#callback_terminator — StateMachine::Integrations::MongoMapper
#callback_terminator — StateMachine::Integrations::ActiveModel
#can_fire? — StateMachine::Event
#can_walk_to? — StateMachine::Path
#catch_exceptions — StateMachine::TransitionCollection
#complete? — StateMachine::Path
#concat — StateMachine::NodeCollection
#context — StateMachine::NodeCollection
#context — StateMachine::Transition
#context — StateMachine::Event
#context — StateMachine::State
#create_scope — StateMachine::Integrations::Sequel
#create_scope — StateMachine::Integrations::ActiveRecord
#create_with_scope — StateMachine::Integrations::Mongoid
#create_with_scope — StateMachine::Integrations::Sequel
#create_with_scope — StateMachine::Integrations::ActiveRecord
#create_with_scope — StateMachine::Machine
#create_with_scope — StateMachine::Integrations::DataMapper
#create_with_scope — StateMachine::Integrations::MongoMapper
#create_without_scope — StateMachine::Integrations::MongoMapper
#create_without_scope — StateMachine::Integrations::Mongoid
#create_without_scope — StateMachine::Integrations::ActiveRecord
#create_without_scope — StateMachine::Machine
#create_without_scope — StateMachine::Integrations::DataMapper
#create_without_scope — StateMachine::Integrations::Sequel
#default_error_message_options — StateMachine::Integrations::ActiveRecord
#default_error_message_options — StateMachine::Integrations::ActiveModel
#define_action_helpers — StateMachine::Machine
#define_action_helpers — StateMachine::Integrations::DataMapper
#define_action_helpers — StateMachine::Integrations::Sequel
#define_action_helpers — StateMachine::Integrations::ActiveModel
#define_action_helpers? — StateMachine::Integrations::DataMapper
#define_action_helpers? — StateMachine::Machine
#define_action_hook — StateMachine::Integrations::Mongoid
#define_action_hook — StateMachine::Machine
#define_action_hook — StateMachine::Integrations::MongoMapper
#define_action_hook — StateMachine::Integrations::ActiveRecord
#define_action_hook — StateMachine::Integrations::Sequel
#define_dynamic_state_initializer — StateMachine::Integrations::ActiveRecord
#define_event_helpers — StateMachine::Machine
#define_helper — StateMachine::Machine
#define_helpers — StateMachine::Integrations::Sequel
#define_helpers — StateMachine::Machine
#define_name_helpers — StateMachine::Machine
#define_path_helpers — StateMachine::Machine
#define_scope — StateMachine::Integrations::Mongoid
#define_scope — StateMachine::Integrations::MongoMapper
#define_scopes — StateMachine::Machine
#define_state_accessor — StateMachine::Integrations::DataMapper
#define_state_accessor — StateMachine::Integrations::Mongoid
#define_state_accessor — StateMachine::Integrations::Sequel
#define_state_accessor — StateMachine::Machine
#define_state_accessor — StateMachine::Integrations::MongoMapper
#define_state_accessor — StateMachine::Integrations::ActiveModel
#define_state_initializer — StateMachine::Integrations::ActiveRecord
#define_state_initializer — StateMachine::Integrations::DataMapper
#define_state_initializer — StateMachine::Integrations::Sequel
#define_state_initializer — StateMachine::Integrations::MongoMapper
#define_state_initializer — StateMachine::Integrations::Mongoid
#define_state_initializer — StateMachine::Machine
#define_state_predicate — StateMachine::Machine
#define_static_state_initializer — StateMachine::Integrations::ActiveRecord
#define_validation_hook — StateMachine::Integrations::ActiveModel
#define_validation_hook — StateMachine::Integrations::Sequel
#description — StateMachine::BlacklistMatcher
#description — StateMachine::LoopbackMatcher
#description — StateMachine::AllMatcher
#description — StateMachine::State
#description — StateMachine::WhitelistMatcher
#draw — StateMachine::Machine
#draw — StateMachine::Branch
#draw — StateMachine::Event
#draw — StateMachine::State
#dynamic_initial_state? — StateMachine::Machine
#each — StateMachine::NodeCollection
#errors_for — StateMachine::Integrations::ActiveModel
#errors_for — StateMachine::Machine
#errors_for — StateMachine::Integrations::DataMapper
#errors_for — StateMachine::Integrations::Sequel
#eval_context — StateMachine::NodeCollection
#evaluate_method — StateMachine::EvalHelpers
#event — StateMachine::InvalidTransition
#event — StateMachine::Transition
#event — StateMachine::Machine
#events — StateMachine::PathCollection
#events — StateMachine::Path
#extended — StateMachine::Integrations::Base::ClassMethods
#fetch — StateMachine::NodeCollection
#filter — StateMachine::Matcher
#filter — StateMachine::BlacklistMatcher
#filter — StateMachine::AllMatcher
#filter_attributes — StateMachine::Integrations::MongoMapper
#final? — StateMachine::State
#fire — StateMachine::Event
#fire_events — StateMachine::InstanceMethods
#fire_events — StateMachine::MachineCollection
#fire_events! — StateMachine::InstanceMethods
#from_name — StateMachine::Path
#from_name — StateMachine::InvalidTransition
#from_name — StateMachine::Transition
#from_states — StateMachine::PathCollection
#from_states — StateMachine::Path
#generate_message — StateMachine::Machine
#handle_save_failure — StateMachine::Integrations::Sequel
#handle_validation_failure — StateMachine::Integrations::Sequel
#human_event — StateMachine::Transition
#human_from_name — StateMachine::Transition
#human_name — StateMachine::Event
#human_name — StateMachine::State
#human_to_name — StateMachine::Transition
#i18n_scope — StateMachine::Integrations::ActiveRecord
#i18n_scope — StateMachine::Integrations::ActiveModel
#index — StateMachine::NodeCollection
#initial_paths — StateMachine::PathCollection
#initial_state — StateMachine::Machine
#initial_state= — StateMachine::Machine
#initialize_state — StateMachine::Machine
#initialize_state? — StateMachine::Machine
#initialize_states — StateMachine::MachineCollection
#inspect — StateMachine::Transition
#inspect — StateMachine::Event
#inspect — StateMachine::State
#integration_name — StateMachine::Integrations::Base::ClassMethods
#invalidate — StateMachine::Integrations::ActiveModel
#invalidate — StateMachine::Machine
#invalidate — StateMachine::Integrations::MongoMapper
#invalidate — StateMachine::Integrations::ActiveRecord
#invalidate — StateMachine::Integrations::DataMapper
#invalidate — StateMachine::Integrations::Sequel
#keys — StateMachine::NodeCollection
#known_states — StateMachine::Callback
#length — StateMachine::NodeCollection
#load_inflector — StateMachine::Integrations::Sequel
#load_locale — StateMachine::Integrations::ActiveRecord
#load_locale — StateMachine::Integrations::MongoMapper
#load_locale — StateMachine::Integrations::ActiveModel
#load_observer_extensions — StateMachine::Integrations::ActiveRecord
#load_observer_extensions — StateMachine::Integrations::ActiveModel
#load_observer_extensions — StateMachine::Integrations::DataMapper
#load_plugins — StateMachine::Integrations::Sequel
#locale_path — StateMachine::Integrations::Base::ClassMethods
#loopback? — StateMachine::Transition
#machine= — StateMachine::NodeCollection
#match — StateMachine::Branch
#match — StateMachine::StateCollection
#match! — StateMachine::StateCollection
#match_event — StateMachine::Branch
#match_query — StateMachine::Branch
#match_states — StateMachine::Branch
#matches? — StateMachine::StateCollection
#matches? — StateMachine::State
#matches? — StateMachine::LoopbackMatcher
#matches? — StateMachine::AllMatcher
#matches? — StateMachine::BlacklistMatcher
#matches? — StateMachine::WhitelistMatcher
#matches? — StateMachine::Integrations::Base::ClassMethods
#matches? — StateMachine::Branch
#matches_conditions? — StateMachine::Branch
#matches_requirement? — StateMachine::Branch
#method_missing — StateMachine::StateContext
#model_from_dataset — StateMachine::Integrations::Sequel
#notify — StateMachine::Integrations::ActiveModel
#object — StateMachine::TransitionCollection
#on — StateMachine::Machine
#on_failure — StateMachine::Event
#other_states — StateMachine::Machine
#owner_class= — StateMachine::Machine
#owner_class_ancestor_has_method? — StateMachine::Machine
#owner_class_ancestor_has_method? — StateMachine::Integrations::ActiveRecord
#paths_for — StateMachine::Machine
#pausable — StateMachine::Transition
#pause — StateMachine::Transition
#perform — StateMachine::TransitionCollection
#perform — StateMachine::Transition
#persist — StateMachine::TransitionCollection
#persist — StateMachine::Transition
#persist — StateMachine::AttributeTransitionCollection
#pluralize — StateMachine::Machine
#pluralize — StateMachine::Integrations::Sequel
#pluralize — StateMachine::Integrations::DataMapper
#qualified_event — StateMachine::InvalidTransition
#qualified_event — StateMachine::Transition
#qualified_from_name — StateMachine::InvalidTransition
#qualified_from_name — StateMachine::Transition
#qualified_to_name — StateMachine::Transition
#read — StateMachine::Machine
#recently_walked? — StateMachine::Path
#remove_from_index — StateMachine::NodeCollection
#reset — StateMachine::Integrations::Sequel
#reset — StateMachine::Integrations::ActiveModel
#reset — StateMachine::Event
#reset — StateMachine::Integrations::DataMapper
#reset — StateMachine::Transition
#reset — StateMachine::AttributeTransitionCollection
#reset — StateMachine::Machine
#reset — StateMachine::TransitionCollection
#resume — StateMachine::Transition
#rollback — StateMachine::AttributeTransitionCollection
#rollback — StateMachine::Transition
#rollback — StateMachine::TransitionCollection
#run_actions — StateMachine::TransitionCollection
#run_callbacks — StateMachine::AttributeTransitionCollection
#run_callbacks — StateMachine::TransitionCollection
#run_callbacks — StateMachine::Transition
#run_methods — StateMachine::Callback
#run_scope — StateMachine::Integrations::Sequel
#run_scope — StateMachine::Machine
#runs_validations_on_action? — StateMachine::Integrations::MongoMapper
#runs_validations_on_action? — StateMachine::Integrations::Mongoid
#runs_validations_on_action? — StateMachine::Integrations::ActiveModel
#runs_validations_on_action? — StateMachine::Integrations::ActiveRecord
#same — StateMachine::MatcherHelpers
#sibling_machines — StateMachine::Machine
#state — StateMachine::Machine
#state_machine — StateMachine::MacroMethods
#state_machines — StateMachine::ClassMethods
#success? — StateMachine::TransitionCollection
#supports_mass_assignment_security? — StateMachine::Integrations::ActiveRecord
#supports_observers? — StateMachine::Integrations::MongoMapper
#supports_observers? — StateMachine::Integrations::ActiveModel
#supports_observers? — StateMachine::Integrations::ActiveRecord
#supports_validations? — StateMachine::Integrations::DataMapper
#supports_validations? — StateMachine::Integrations::MongoMapper
#supports_validations? — StateMachine::Integrations::ActiveModel
#supports_validations? — StateMachine::Integrations::ActiveRecord
#times_walked_to — StateMachine::Path
#to_name — StateMachine::Transition
#to_name — StateMachine::Path
#to_states — StateMachine::PathCollection
#to_states — StateMachine::Path
#to_sym? — StateMachine::NodeCollection
#transaction — StateMachine::Integrations::ActiveRecord
#transaction — StateMachine::Integrations::Sequel
#transaction — StateMachine::Integrations::DataMapper
#transaction — StateMachine::Machine
#transient? — StateMachine::Transition
#transition — StateMachine::StateContext
#transition — StateMachine::Machine
#transition — StateMachine::Event
#transition_for — StateMachine::Event
#transitions — StateMachine::MachineCollection
#transitions — StateMachine::Path
#transitions_for — StateMachine::EventCollection
#translate — StateMachine::Integrations::MongoMapper
#translate — StateMachine::Integrations::ActiveRecord
#translate — StateMachine::Integrations::ActiveModel
#update — StateMachine::NodeCollection
#update_index — StateMachine::NodeCollection
#update_with_transition — StateMachine::Integrations::ActiveModel::Observer
#use_event_attributes? — StateMachine::TransitionCollection
#valid? — StateMachine::TransitionCollection
#valid_for — StateMachine::EventCollection
#value — StateMachine::State
#value — StateMachine::StateCollection
#value — StateMachine::NodeCollection
#version — StateMachine::Integrations::Base::ClassMethods
#versions — StateMachine::Integrations::Base::ClassMethods
#walk — StateMachine::Path
#walk — StateMachine::PathCollection
#within_transaction — StateMachine::Machine
#within_transaction — StateMachine::Transition
#within_transaction — StateMachine::TransitionCollection
#write — StateMachine::Integrations::Mongoid
#write — StateMachine::Integrations::Sequel
#write — StateMachine::Machine