state_machine
https://github.com/pluginaweek/state_machine
Ruby
Adds support for creating state machines for attributes on any Ruby class
StateMachine::Callback#terminator
An optional block for determining whether to cancel the callback chain
based on the return value of the callback. By default, the callback
chain never cancels based on the return value (i.e. there is no implicit
terminator). Certain integrations, such as ActiveRecord and Sequel,
change this default value.
== Examples
Canceling the callback chain without a terminator:
class Vehicle
state_machine do
before_transition do |vehicle|
throw :halt
end
end
end
Canceling the callback chain with a terminator value of +false+:
class Vehicle
state_machine do
before_transition do |vehicle|
false
end
end
endEdit
git clone [email protected]:pluginaweek/state_machine.git
cd state_machine
open lib/state_machine/callback.rb
Contribute
# Make a new branchgit checkout -b -your-name--update-docs-StateMachine--Callback-terminator-for-pr
# Commit to gitgit add lib/state_machine/callback.rbgit commit -m "better docs for StateMachine::Callback#terminator"
# Open pull requestgem install hub # on a mac you can `brew install hub`
hub fork
git push <your name> -your-name--update-docs-StateMachine--Callback-terminator-for-pr
hub pull-request
# Celebrate!