Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 211 lines (167 sloc) 10.773 kb
7bca32db » obrie
2008-06-28 Convert to a more sane CHANGELOG format using rdoc
1 == master
45197b00 » obrie
2007-04-01 Remove tasks that are no longer being used.
2
17b472ca » obrie
2009-03-21 Add #fire_events / #fire_events! for running events on multiple state…
3 * Add #fire_events / #fire_events! for running events on multiple state machines in parallel
26e1b8f6 » obrie
2009-03-19 Rename next_#{event}_transition to #{event}_transition
4 * Rename next_#{event}_transition to #{event}_transition
5 * Add #{attribute}_transitions for getting the list of transitions that can be run on an object
6 * Add #{attribute}_events for getting the list of events that can be fired on an object
70d9c72b » obrie
2009-03-15 Use generated non-bang event when running bang version so that overri…
7 * Use generated non-bang event when running bang version so that overriding one affects the other
47f72a69 » obrie
2009-03-15 Provide access to arguments passed into an event from transition call…
8 * Provide access to arguments passed into an event from transition callbacks via Transition#args
9
37b23639 » obrie
2009-03-10 Tag 0.6.3 release
10 == 0.6.3 / 2008-03-10
11
51306ac5 » obrie
2009-03-10 Add support for customizing the graph's orientation
12 * Add support for customizing the graph's orientation
b2b841d0 » obrie
2009-03-10 Use the standard visualizations for initial (open arrow) and final (d…
13 * Use the standard visualizations for initial (open arrow) and final (double circle) states
f5066702 » obrie
2009-03-10 Highlight final states in GraphViz drawings
14 * Highlight final states in GraphViz drawings
15
da5f0c2e » obrie
2009-03-08 Tag 0.6.2 release
16 == 0.6.2 / 2009-03-08
17
ea7eb4c5 » obrie
2009-03-08 Make it easier to override generated instance / class methods
18 * Make it easier to override generated instance / class methods
19
fb3fa920 » obrie
2009-03-07 Tag 0.6.1 release
20 == 0.6.1 / 2009-03-07
21
d0c99916 » obrie
2009-03-07 Add i18n support for ActiveRecord validation errors
22 * Add i18n support for ActiveRecord validation errors
8c843f01 » obrie
2009-03-07 Add a validation error when failing to transition for ActiveRecord / …
23 * Add a validation error when failing to transition for ActiveRecord / DataMapper / Sequel integrations
24
30221540 » obrie
2009-03-03 Tag 0.6.0 release
25 == 0.6.0 / 2009-03-03
26
13f0f207 » obrie
2009-03-03 Allow multiple conditions for callbacks / class behaviors
27 * Allow multiple conditions for callbacks / class behaviors
d9b66f3d » obrie
2009-03-03 Fix typo in changelog
28 * Add support for state-driven class behavior with :if/:unless options
88f8a0d0 » obrie
2009-03-02 Alias Machine#event as Machine#on
29 * Alias Machine#event as Machine#on
cdec7f2d » obrie
2009-03-02 Add simplified transition/callback requirement syntax (and recommend …
30 * Fix nil from/to states not being handled properly
31 * Simplify hooking callbacks into loopbacks
32 * Add simplified transition/callback requirement syntax
33
5bdc4229 » obrie
2009-02-17 Tag 0.5.2 release
34 == 0.5.2 / 2009-02-17
35
237096ff » obrie
2009-02-17 Simplify state/event matching design, improving guard performance by 30%
36 * Improve pretty-print of events
37 * Simplify state/event matching design, improving guard performance by 30%
5e07007d » obrie
2009-02-14 Add better error notification when conflicting guard options are defined
38 * Add better error notification when conflicting guard options are defined
cd16cad2 » obrie
2009-02-14 Fix scope name pluralization not being applied correctly [#13 state:r…
39 * Fix scope name pluralization not being applied correctly
40
97cf57a9 » obrie
2009-02-11 Tag 0.5.1 release
41 == 0.5.1 / 2009-02-11
42
d6fbdcc1 » obrie
2009-02-10 Allow states to be drawn as ellipses to accommodate long names
43 * Allow states to be drawn as ellipses to accommodate long names
a75a2820 » obrie
2009-02-09 Fix rake tasks not being registered in Rails/Merb applications [#11 s…
44 * Fix rake tasks not being registered in Rails/Merb applications
1475acf8 » obrie
2009-02-07 Never automatically define machine attribute accessors when using an …
45 * Never automatically define machine attribute accessors when using an integration
46
04f28ff0 » obrie
2009-01-11 Fix 0.5.0 release date
47 == 0.5.0 / 2009-01-11
ddc8d1a6 » obrie
2009-01-11 Tag 0.5.0 release
48
45bc27fb » obrie
2009-01-11 Add missing changelog message for to_name / from_name additions in tr…
49 * Add to_name and from_name to transition objects
7f7fc4a1 » obrie
2009-01-11 Add nicely formatted #inspect for transitions
50 * Add nicely formatted #inspect for transitions
762906a7 » obrie
2009-01-10 Fix ActiveRecord integrations failing when the database doesn't exist…
51 * Fix ActiveRecord integrations failing when the database doesn't exist yet
b9d0ccc4 » obrie
2009-01-10 Add support for customizing the actual stored value for a state
52 * Fix states not being drawn in GraphViz graphs in the correct order
53 * Add nicely formatted #inspect for states and events
54 * Simplify machine context-switching
55 * Store events/states in enumerable node collections
56 * No longer allow subclasses to change the integration
57 * Move fire! action logic into the Event class (no longer calls fire action on the object)
58 * Allow states in subclasses to have different values
59 * Recommend that all states be referenced as symbols instead of strings
60 * All states must now be named (and can be associated with other value types)
61 * Add support for customizing the actual stored value for a state
670ac78c » obrie
2008-12-30 Add compatibility with Ruby 1.9+
62 * Add compatibility with Ruby 1.9+
63
ba6dfeb1 » obrie
2008-12-28 Tag 0.4.3 release
64 == 0.4.3 / 2008-12-28
65
bae9e169 » obrie
2008-12-28 Allow dm-observer integration to be optional
66 * Allow dm-observer integration to be optional
82a5135b » obrie
2008-12-28 Fix non-lambda callbacks not working for DataMapper/Sequel
67 * Fix non-lambda callbacks not working for DataMapper/Sequel
68
faef3429 » obrie
2008-12-28 Tag 0.4.2 release
69 == 0.4.2 / 2008-12-28
70
a8bf1c9d » obrie
2008-12-28 Fix graphs not being drawn the same way consistently
71 * Fix graphs not being drawn the same way consistently
b8de3a79 » obrie
2008-12-20 Add support for sharing transitions across multiple events
72 * Add support for sharing transitions across multiple events
db88b6fa » obrie
2008-12-20 Add support for state-driven behavior
73 * Add support for state-driven behavior
d71fedbe » obrie
2008-12-18 Simplify initialize hooks, requiring super to be called instead
74 * Simplify initialize hooks, requiring super to be called instead
cfa7757d » obrie
2008-12-17 Add :namespace option for generated state predicates / event methods
75 * Add :namespace option for generated state predicates / event methods
76
20352349 » obrie
2008-12-16 Tag 0.4.1 release
77 == 0.4.1 / 2008-12-16
78
977c9777 » obrie
2008-12-16 Fix nil states not being handled properly in guards, known states, or…
79 * Fix nil states not being handled properly in guards, known states, or visualizations
80 * Fix the same node being used for different dynamic states in GraphViz output
81 * Always include initial state in the list of known states even if it's dynamic
82 * Use consistent naming scheme for dynamic states in GraphViz output
83 * Allow blocks to be directly passed into machine class
198570ea » obrie
2008-12-15 Fix attribute predicates not working on attributes that represent col…
84 * Fix attribute predicates not working on attributes that represent columns in ActiveRecord
85
5d5b3d27 » obrie
2008-12-14 Tag 0.4.0 release
86 == 0.4.0 / 2008-12-14
87
146afff4 » obrie
2008-12-14 Remove the PluginAWeek namespace
88 * Remove the PluginAWeek namespace
48d83dfb » obrie
2008-12-14 Add generic attribute predicate (e.g. "#{attribute}?(state_name)") an…
89 * Add generic attribute predicate (e.g. "#{attribute}?(state_name)") and state predicates (e.g. "#{state}?")
b68d4bda » obrie
2008-12-14 Add Sequel support
90 * Add Sequel support
06e8e845 » obrie
2008-12-12 Fix aliasing :initialize on ActiveRecord models causing warnings when…
91 * Fix aliasing :initialize on ActiveRecord models causing warnings when the environment is reloaded
c3d532f5 » obrie
2008-12-12 Fix ActiveRecord state machines trying to query the database on unmig…
92 * Fix ActiveRecord state machines trying to query the database on unmigrated models
bee135e2 » obrie
2008-12-10 Fix initial states not getting set when the current value is an empty…
93 * Fix initial states not getting set when the current value is an empty string [Aaron Gibralter]
6f25124e » jashmenn
2008-12-09 Add rake tasks for generating graphviz files for state machines
94 * Add rake tasks for generating graphviz files for state machines [Nate Murray]
ef3eb0cb » obrie
2008-12-08 Fix initial state not being included in list of known states
95 * Fix initial state not being included in list of known states
2269c93d » Pete Forde
2008-12-07 Add other_states directive for defining additional states not referen…
96 * Add other_states directive for defining additional states not referenced in transitions or callbacks [Pete Forde]
bbd3a98f » obrie
2008-12-07 Add next_#{event}_transition for getting the next transition that wou…
97 * Add next_#{event}_transition for getting the next transition that would be performed if the event were invoked
fab942fe » obrie
2008-12-07 Add missing CHANGELOG comments
98 * Add the ability to override the pluralized name of an attribute for creating scopes
99 * Add the ability to halt callback chains by: throw :halt
8f17ce06 » obrie
2008-12-07 Clarify CHANGELOG comments
100 * Add support for dynamic to states in transitions (e.g. :to => lambda {Time.now})
307ac8eb » obrie
2008-12-07 Re-design to be library-agnostic (define state machines on any Ruby c…
101 * Add support for using real blocks in before_transition/after_transition calls instead of using the :do option
102 * Add DataMapper support
103 * Include states referenced in transition callbacks in the list of a machine's known states
104 * Only generate the known states for a machine on demand, rather than calculating beforehand
8f17ce06 » obrie
2008-12-07 Clarify CHANGELOG comments
105 * Add the ability to skip state change actions during a transition (e.g. vehicle.ignite(false))
307ac8eb » obrie
2008-12-07 Re-design to be library-agnostic (define state machines on any Ruby c…
106 * Add the ability for the state change action (e.g. +save+ for ActiveRecord) to be configurable
107 * Allow state machines to be defined on *any* Ruby class, not just ActiveRecord (removes all external dependencies)
108 * Refactor transitions, guards, and callbacks for better organization/design
8f17ce06 » obrie
2008-12-07 Clarify CHANGELOG comments
109 * Use a class containing the transition context in callbacks, rather than an ordered list of each individual attribute
f379ba96 » obrie
2008-11-15 Add missing owner from changelog message
110 * Add without_#{attribute} named scopes (opposite of the existing with_#{attribute} named scopes) [Sean O'Brien]
c7d4cfa5 » obrie
2008-11-15 Add changelog message for without_#{attribute} named scopes
111
6d213798 » obrie
2008-10-26 Tag 0.3.1 release
112 == 0.3.1 / 2008-10-26
113
a6eb537b » obrie
2008-10-26 Fix the initial state not getting set when the state attribute is mas…
114 * Fix the initial state not getting set when the state attribute is mass-assigned but protected
a3cbd330 » obrie
2008-10-04 Change how the base module is included to prevent namespacing conflicts
115 * Change how the base module is included to prevent namespacing conflicts
116
ba3975ed » obrie
2008-09-07 Tag 0.3.0 release
117 == 0.3.0 / 2008-09-07
118
6a94afcc » obrie
2008-09-07 MAJOR REWRITE! Replace all before/after_exit/enter/loopback callback …
119 * No longer allow additional arguments to be passed into event actions
120 * Add support for can_#{event}? for checking whether an event can be fired based on the current state of the record
121 * Don't use callbacks for performing transitions
122 * Fix state machines in subclasses not knowing what states/events/transitions were defined by superclasses
123 * Replace all before/after_exit/enter/loopback callback hooks and :before/:after options for events with before_transition/after_transition callbacks, e.g.
124
125 before_transition :from => 'parked', :do => :lock_doors # was before_exit :parked, :lock_doors
126 after_transition :on => 'ignite', :do => :turn_on_radio # was event :ignite, :after => :turn_on_radio do
127
e5426640 » obrie
2008-07-10 Always save when an event is fired even if it results in a loopback
128 * Always save when an event is fired even if it results in a loopback [Jürgen Strobel]
af5d9ad1 » obrie
2008-07-09 Ensure initial state callbacks are invoked in the proper order when a…
129 * Ensure initial state callbacks are invoked in the proper order when an event is fired on a new record
e5426640 » obrie
2008-07-10 Always save when an event is fired even if it results in a loopback
130 * Add before_loopback and after_loopback hooks [Jürgen Strobel]
4dabe2c3 » obrie
2008-07-09 Add before_loopback and after_loopback hooks
131
179ce54f » obrie
2008-07-05 Add more descriptive exceptions
132 == 0.2.1 / 2008-07-05
133
134 * Add more descriptive exceptions
135 * Assume the default state attribute is "state" if one is not provided
7f1b4d67 » obrie
2008-07-03 Add :except_from option for transitions if you want to blacklist states
136 * Add :except_from option for transitions if you want to blacklist states
26d60afa » obrie
2008-07-03 Add PluginAWeek::StateMachine::Machine#states
137 * Add PluginAWeek::StateMachine::Machine#states
138 * Add PluginAWeek::StateMachine::Event#transitions
b90d731c » obrie
2008-07-03 Allow creating transitions with no from state (effectively allowing t…
139 * Allow creating transitions with no from state (effectively allowing the transition for *any* from state)
140 * Reduce the number of objects created for each transition
141
b3b009b1 » obrie
2008-06-29 Add a non-bang version of events (e.g. park) that will return a boole…
142 == 0.2.0 / 2008-06-29
143
144 * Add a non-bang version of events (e.g. park) that will return a boolean value for success
145 * Raise an exception if the bang version of events are used (e.g. park!) and no transition is successful
146 * Change callbacks to act a little more like ActiveRecord
147 * Avoid using string evaluation for dynamic methods
148
7bca32db » obrie
2008-06-28 Convert to a more sane CHANGELOG format using rdoc
149 == 0.1.1 / 2008-06-22
6cf38df7 » obrie
2008-06-22 Tag 0.1.1 release
150
151 * Remove log files from gems
152
7bca32db » obrie
2008-06-28 Convert to a more sane CHANGELOG format using rdoc
153 == 0.1.0 / 2008-05-05
f3565041 » obrie
2008-05-04 Completely rewritten from scratch
154
155 * Completely rewritten from scratch
156 * Renamed to state_machine
157 * Removed database dependencies
158 * Removed models in favor of an attribute-agnostic design
159 * Use ActiveSupport::Callbacks instead of eval_call
160 * Remove dry_transaction_rollbacks dependencies
161 * Added functional tests
162 * Updated documentation
163
7bca32db » obrie
2008-06-28 Convert to a more sane CHANGELOG format using rdoc
164 == 0.0.1 / 2007-09-26
26b00dee » obrie
2007-09-25 Add dependency on custom_callbacks
165
5ad4f6cb » obrie
2007-09-26 Prepare release dates/versions
166 * Add dependency on custom_callbacks
b5066674 » obrie
2007-09-21 Move test fixtures out of the test application root directory
167 * Move test fixtures out of the test application root directory
168 * Improve documentation
169 * Remove the StateExtension module in favor of adding singleton methods to the stateful class
307fe93e » obrie
2007-08-16 Convert dos newlines to unix newlines
170 * Convert dos newlines to unix newlines
cbd2a5a5 » obrie
2007-07-29 Fix error message when a given event can't be found in the database.
171 * Fix error message when a given event can't be found in the database
c140b975 » obrie
2007-07-28 Add before_#{action} and #{action} callbacks when an event is performed.
172 * Add before_#{action} and #{action} callbacks when an event is performed
173 * All state and event callbacks can now explicitly return false in order to cancel the action
174 * Refactor ActiveState callback creation
175 * Refactor unit tests so that they use mock classes instead of themselves
12a93d43 » obrie
2007-07-27 Allow force_reload option to be set in the state association.
176 * Allow force_reload option to be set in the state association
177 * Don't save the entire model when updating the state_id
90c67868 » obrie
2007-07-27 Raise exception if a class tries to define a state more than once.
178 * Raise exception if a class tries to define a state more than once
179 * Add tests for PluginAWeek::Has::States::ActiveState
180 * Refactor active state/active event creation
181 * Fix owner_type not being set correctly in active states/events of subclasses
982f2f8a » obrie
2007-07-26 Allow subclasses to override the initial state.
182 * Allow subclasses to override the initial state
ea865516 » obrie
2007-07-26 Fix problem with migrations using default null when column cannot be …
183 * Fix problem with migrations using default null when column cannot be null
172f646a » obrie
2007-07-26 Moved deadline support into a separate plugin (has_state_deadlines).
184 * Moved deadline support into a separate plugin (has_state_deadlines).
185 * Added many more unit tests.
186 * Simplified many of the interfaces for maintainability.
187 * Added support for turning off recording state changes.
188 * Removed the short_description and long_description columns, in favor of an optional human_name column.
189 * Fixed not overriding the correct equality methods in the StateTransition class.
190 * Added to_sym to State and Event.
191 * State#name and Event#name now return the string version of the name instead of the symbol version.
192 * Added State#human_name and Event#human_name to automatically figure out what the human name is if it isn't specified in the table.
193 * Updated manual rollbacks to use the new Rails edge api (ActiveRecord::Rollback exception).
194 * Moved StateExtension class into a separate file in order to help keep the has_state files clean.
195 * Renamed InvalidState and InvalidEvent exceptions to StateNotFound and EventNotFound in order to follow the ActiveRecord convention (i.e. RecordNotFound).
196 * Added StateNotActive and EventNotActive exceptions to help differentiate between states which don't exist and states which weren't defined in the class.
197 * Added support for defining callbacks like so:
7bca32db » obrie
2008-06-28 Convert to a more sane CHANGELOG format using rdoc
198
172f646a » obrie
2007-07-26 Moved deadline support into a separate plugin (has_state_deadlines).
199 def before_exit_parked
200 end
201
202 def after_enter_idling
203 end
204
205 * Added support for defining callbacks using class methods:
7bca32db » obrie
2008-06-28 Convert to a more sane CHANGELOG format using rdoc
206
172f646a » obrie
2007-07-26 Moved deadline support into a separate plugin (has_state_deadlines).
207 before_exit_parked :fasten_seatbelt
208
209 * Added event callbacks after the transition has occurred (e.g. after_park)
210 * State callbacks no longer receive any of the arguments that were provided in the event action
307fe93e » obrie
2007-08-16 Convert dos newlines to unix newlines
211 * Updated license to include our names.
Something went wrong with that request. Please try again.