Skip to content

Instantly share code, notes, and snippets.

@ryan-allen
Created April 30, 2009 05:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ryan-allen/104283 to your computer and use it in GitHub Desktop.
Save ryan-allen/104283 to your computer and use it in GitHub Desktop.
class Withdrawal
workflow do
state :new do
event :request_amount, :transitions_to => :awaiting_payment
event :request_max, :transitions_to => :pending_end_of_month
end
state :awaiting_payment do
event :pay, :transitions_to => :paid
event :requires_inspection_for_fraud, :transitions_to => :possible_fraud
event :cancel, :transitions_to => :cancelled
end
state :pending_end_of_month do
event :cancel, :transitions_to => :cancelled
event :fill, :transitions_to => :awaiting_payment
end
state :paid
state :possible_fraud do
event :confirm_as_fraudulent, :transitions_to => :denied
event :false_positive, :transitions_to => :awaiting_payment
end
state :denied
state :canceled
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment