README.rdoc in runcoderun-aasm-2.0.2.2 vs README.rdoc in runcoderun-aasm-2.0.2.3
- old
+ new
@@ -29,11 +29,11 @@
% sudo gem install rubyist-aasm
=== Building your own gems
% rake gem
- % sudo gem install pkg/aasm-2.0.2.gem
+ % sudo gem install pkg/aasm-2.0.1.gem
== Simple Example
Here's a quick example highlighting some of the features.
@@ -42,53 +42,21 @@
include AASM
aasm_initial_state :new
aasm_state :new
- aasm_state :read, :enter => :mark_thread_as_read
+ aasm_state :read
aasm_state :closed
aasm_event :view do
- # Transitions can take an optional on_transition option to execute some logic when the event is happening.
- # It can take a single string or symbol (denoting a method), an array of string or symbols
- # (denoting several methods), or an inline lambda
- transitions :to => :read, :from => [:new], :on_transition => :set_last_read_at, :guard => :user_authorized
+ transitions :to => :read, :from => [:new]
end
aasm_event :close do
transitions :to => :closed, :from => [:read, :new]
end
-
- # Update last_read_at timestamp when the conversation is viewed
- def set_last_read_at
- self.last_read_at = Time.now
- end
-
end
-
-
-== Explanation of transitions
-
-The current state machine has the following process. If we were to call
-<tt>Conversation#view!</tt>, we would get:
-
- state:new
- |
- | <-- :exit called on state[new]
- |
- | <-- :guard called on state[read]
- |
- | <-- :on_transition called on state[read]
- |
- | <-- aasm_current_state set to "read"
- |
- | <-- :success called on state[read]
- |
- | <-- :enter called on state[read]
- |
- state:read
-
= Other Stuff
Author:: Scott Barron <scott at elitists dot net>
License:: Copyright 2006, 2007, 2008 by Scott Barron.