finite_machine 0.11.0 → 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rspec +1 -0
- data/.travis.yml +8 -5
- data/CHANGELOG.md +134 -51
- data/Gemfile +1 -2
- data/finite_machine.gemspec +2 -1
- data/lib/finite_machine/events_chain.rb +3 -5
- data/lib/finite_machine/hooks.rb +8 -1
- data/lib/finite_machine/observer.rb +4 -2
- data/lib/finite_machine/version.rb +1 -1
- data/spec/unit/callbacks_spec.rb +28 -0
- data/spec/unit/events_chain/cancel_transitions_spec.rb +1 -1
- data/spec/unit/hooks/clear_spec.rb +16 -0
- metadata +22 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d61855a6c9bcf4a134d260eed0b9926250c165e2
|
4
|
+
data.tar.gz: 8700fa2dccb31e106fa9fa7769466d4a4b22fc24
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 199260fd23c214d00e371a803178ee8693fb9f236ca3e68f08a59f181f8d8f251e9a5e340f60deb2b5894358517bf892a8410e6f97e80a717b12ca280c3e50b6
|
7
|
+
data.tar.gz: 53371bc2d260b5c9e2cf48c03769891540227b967f85039aa878731a9efe6b3be68dffce30a2b45375be409486449d410f3d521eb691fa8b9bc3296982c58402
|
data/.rspec
CHANGED
data/.travis.yml
CHANGED
@@ -1,19 +1,22 @@
|
|
1
|
+
---
|
1
2
|
language: ruby
|
2
|
-
|
3
|
+
sudo: false
|
4
|
+
cache: bundler
|
5
|
+
bundler_args: --without yard benchmarks
|
3
6
|
script: "bundle exec rake ci"
|
4
7
|
rvm:
|
5
8
|
- 1.9.3
|
6
|
-
- 2.0
|
7
|
-
- 2.1
|
8
|
-
- 2.2
|
9
|
+
- 2.0
|
10
|
+
- 2.1
|
11
|
+
- 2.2
|
9
12
|
- ruby-head
|
13
|
+
- rbx-2
|
10
14
|
matrix:
|
11
15
|
include:
|
12
16
|
- rvm: jruby-19mode
|
13
17
|
- rvm: jruby-20mode
|
14
18
|
- rvm: jruby-21mode
|
15
19
|
- rvm: jruby-head
|
16
|
-
- rvm: rbx-2
|
17
20
|
allow_failures:
|
18
21
|
- rvm: ruby-head
|
19
22
|
- rvm: jruby-head
|
data/CHANGELOG.md
CHANGED
@@ -1,8 +1,18 @@
|
|
1
|
-
|
1
|
+
# Change Log
|
2
2
|
|
3
|
+
## [v0.11.1] - 2015-12-17
|
4
|
+
|
5
|
+
### Fixed
|
6
|
+
* Fix cancelling callbacks for halted transition by craiglittle
|
7
|
+
|
8
|
+
## [v0.11.0] - 2015-10-11
|
9
|
+
|
10
|
+
### Added
|
3
11
|
* Add UndefinedTransition to mark self transition(e.i. no transition found)
|
4
12
|
* Add StateDefinition for state query methods
|
5
13
|
* Add #trigger and #trigger! to StateMachine to allow manual firing of events and split between dangerous and non-dangerous versions of api.
|
14
|
+
|
15
|
+
### Changed
|
6
16
|
* Change ThreadContext to require per thread setup
|
7
17
|
* Change Transition to stop relying on global transitions
|
8
18
|
* Change EventChain to manage all internal transitions
|
@@ -11,67 +21,91 @@
|
|
11
21
|
* Change HookEvent to accept event name and from state
|
12
22
|
* Remove Event class as duplicate of Transition
|
13
23
|
* Remove unnecessary checks for StateMachine#can?
|
24
|
+
|
25
|
+
### Fixed
|
14
26
|
* Fix bug in Transition with current transition matching
|
15
27
|
* Fix bug in Observer with cancelling inside event callback
|
16
28
|
|
17
|
-
|
29
|
+
## [v0.10.2] - 2015-07-05
|
18
30
|
|
19
|
-
|
20
|
-
* Fix to cancel transition when no matching choice is found by @craiglittle
|
31
|
+
### Changed
|
21
32
|
* Change StateParser #parse method
|
22
33
|
* Change EventBuilder to EventDefinition and invert dependencies
|
23
34
|
* Change Event#call to #trigger
|
24
35
|
* Change Transition#call to #execute
|
25
36
|
|
26
|
-
|
37
|
+
### Fixed
|
38
|
+
* Fix to run 'on_after' callbacks even when event cancalled by @craiglittle
|
39
|
+
* Fix to cancel transition when no matching choice is found by @craiglittle
|
27
40
|
|
41
|
+
## [v0.10.1] - 2015-05-24
|
42
|
+
|
43
|
+
### Added
|
28
44
|
* Add ability to inherit state machine definitions
|
29
45
|
* Add Env class for holiding machine envionment references
|
46
|
+
|
47
|
+
### Changed
|
30
48
|
* Change DSL to delegate calls to machine instance
|
31
49
|
* Change ChoiceMerger to use machine directly
|
32
50
|
|
33
|
-
|
51
|
+
## [v0.10.0] - 2014-11-16
|
34
52
|
|
53
|
+
### Added
|
35
54
|
* Add #alias_target to allow renaming of target object by @reggieb
|
36
|
-
* Fix issue with async calls passing wrong arguments to conditionals
|
37
|
-
* Change TransitionEvent, AsyncCall to be immutable
|
38
55
|
* Add :log_transitions option for easy transition debugging
|
56
|
+
|
57
|
+
### Changed
|
58
|
+
* Change TransitionEvent, AsyncCall to be immutable
|
39
59
|
* Increase test coverage to 99%
|
40
60
|
|
41
|
-
|
61
|
+
### Fixed
|
62
|
+
* Fix issue with async calls passing wrong arguments to conditionals
|
63
|
+
|
64
|
+
## [v0.9.2] - 2014-09-27
|
42
65
|
|
66
|
+
### Changed
|
43
67
|
* Removes use of class variable to share Sync by @reggieb
|
68
|
+
|
69
|
+
### Fixed
|
44
70
|
* Fix observer to differentiate between any state and any event
|
45
71
|
* [#23] Fix transition to correctly set :from and :to parameters for :any state
|
46
72
|
* [#25] Fix passing parameters to choice events with same named events
|
47
73
|
* Fix choice pseudostate to work with :any state
|
48
74
|
|
49
|
-
|
75
|
+
## [v0.9.1] - 2014-08-10
|
50
76
|
|
77
|
+
### Added
|
51
78
|
* Add TransitionBuilder to internally build transitions from states
|
52
|
-
* Fix #choice to allow for multiple from states
|
53
79
|
* Add #current? to Transition to determine if matches from state
|
54
80
|
* Add #select_choice_transition to EventsChain to determine matching choice transition
|
81
|
+
|
82
|
+
### Fixed
|
83
|
+
* Fix #choice to allow for multiple from states
|
55
84
|
* Fix #choice to work with same named events
|
56
85
|
|
57
|
-
|
86
|
+
## [v0.9.0] 2014-08-03
|
58
87
|
|
88
|
+
### Added
|
59
89
|
* Add Definition class to allow to define standalone state machine
|
60
|
-
*
|
90
|
+
* Add #build method to HookEvent
|
91
|
+
|
92
|
+
### Changed
|
61
93
|
* Change initial helper to simply state name with options
|
62
94
|
* Change HookEvent to be immutable and extend comparison
|
63
95
|
* Change Event to be immutable and extend comparison
|
64
|
-
* Add #build method to HookEvent
|
65
96
|
* Change finished? to terminated? and allow for multiple terminal states
|
66
97
|
* Change to require explicit context to call target methods
|
98
|
+
* Upgrade RSpec dependency and refactor specs
|
67
99
|
|
68
|
-
|
100
|
+
## [v0.8.1] - 2014-07-05
|
69
101
|
|
102
|
+
### Added
|
70
103
|
* Add EventsChain to handle internal events logic
|
71
104
|
* Add EventBuilder to handle events construction
|
72
105
|
|
73
|
-
|
106
|
+
## [v0.8.0] - 2014-06-22
|
74
107
|
|
108
|
+
### Added
|
75
109
|
* Add silent option for state machine events to allow turning on/off
|
76
110
|
selectively callbacks
|
77
111
|
* Ensure that can? & cannot? take into account conditionl logic applied
|
@@ -80,83 +114,132 @@
|
|
80
114
|
* Add ability to do dynamic conditional branching using the choice DSL or
|
81
115
|
grouped events with different outgoing transitions [solves #13 and #6 issue]
|
82
116
|
|
83
|
-
|
117
|
+
## [v0.7.1] - 2014-06-08
|
84
118
|
|
119
|
+
### Changed
|
85
120
|
* Change to relax callback name checks to allow for duplicate state and event names
|
86
121
|
* Change so that transition to initial state triggers callbacks
|
87
122
|
|
88
|
-
|
123
|
+
## [v0.7.0] - 2014-05-26
|
89
124
|
|
90
|
-
|
125
|
+
### Added
|
91
126
|
* Add Event to hold the logic for event specification
|
92
|
-
*
|
127
|
+
* Add string inspection to hooks
|
128
|
+
* Add check for callback name conflicts
|
129
|
+
|
130
|
+
### Changed
|
131
|
+
* Change Event to EventHook for callback events
|
93
132
|
* Change to allow for self-transition - fixes issue #9
|
94
133
|
* Change to detect attempt to overwrite already defined method - fixes issue #10
|
95
|
-
* Fix #respond_to on state machine to include observer
|
96
|
-
* Add string inspection to hooks
|
97
|
-
* Fix observer missing methods resolution
|
98
134
|
* Change to separate state and event callbacks. Introduced on_enter, on_before,
|
99
135
|
once_on_enter, once_on_before new event callbacks.
|
100
136
|
* Change generic callbacks to default to any state for on_enter, on_transition,
|
101
137
|
on_exit and any event for on_before and on_after
|
102
|
-
*
|
103
|
-
* Ensure proper callback lifecycle
|
138
|
+
* Change to ensure proper callback lifecycle
|
104
139
|
|
105
|
-
|
140
|
+
### Fixed
|
141
|
+
* Fix issue #8 to preserve conditionals between event specifications
|
142
|
+
* Fix #respond_to on state machine to include observer
|
143
|
+
* Fix observer missing methods resolution
|
106
144
|
|
145
|
+
### [v0.6.1] - 2014-05-10
|
146
|
+
|
147
|
+
### Fixed
|
107
148
|
* Fix stdlib requirement
|
108
149
|
|
109
|
-
|
150
|
+
### [v0.6.0] - 2014-05-10
|
110
151
|
|
152
|
+
### Added
|
111
153
|
* Add StateParser to allow for grouping transition under same event name
|
112
|
-
* Change Transition to store a map of transition for a given event
|
113
154
|
* Add abilility to correctly extract :to state for Transition instance
|
155
|
+
|
156
|
+
### Changed
|
157
|
+
* Change Transition to store a map of transition for a given event
|
158
|
+
|
159
|
+
### Fixed
|
114
160
|
* Fix bug #6 with incorrect TransitionEvent payload information
|
115
161
|
|
116
|
-
|
162
|
+
## [v0.5.0] - 2014-04-28
|
117
163
|
|
164
|
+
### Added
|
165
|
+
* Add generic Listener interface
|
166
|
+
* Add ability to fire callbacks asynchronously
|
167
|
+
* Add initial state storage
|
168
|
+
|
169
|
+
### Changed
|
118
170
|
* Change to allow for machine to be constructed as plain object
|
119
171
|
* Allow for :initial, :terminal and :target to be machine parameters
|
120
|
-
* Add generic Listener interface
|
121
172
|
* Change EventQueue to allow for subscription
|
122
173
|
* Increase test coverage to 98%
|
123
174
|
* Change to allow access to target inside machine dsl
|
124
|
-
* Add ability to fire callbacks asynchronously
|
125
|
-
* Add initial state storage
|
126
175
|
|
127
|
-
|
176
|
+
## [v0.4.0] - 2014-04-13
|
128
177
|
|
129
|
-
|
130
|
-
* Fix initial to accept any state object
|
178
|
+
### Added
|
131
179
|
* Add logger
|
132
180
|
* Add ability to cancel transitions inside callbacks
|
133
|
-
* Fix proc conditions to accept aditional arguments
|
134
|
-
* Increase test coverage to 97%
|
135
181
|
* Add ability to force transitions
|
136
182
|
|
137
|
-
|
183
|
+
### Changed
|
184
|
+
* Change initial state to stop firing event notification
|
185
|
+
* Increase test coverage to 97%
|
138
186
|
|
139
|
-
|
140
|
-
*
|
141
|
-
* Fix
|
142
|
-
|
143
|
-
|
187
|
+
### Fixed
|
188
|
+
* Fix initial to accept any state object
|
189
|
+
* Fix proc conditions to accept aditional arguments
|
190
|
+
|
191
|
+
## [v0.3.0] - 2014-03-30
|
192
|
+
|
193
|
+
### Added
|
144
194
|
* Add ability to specify callbacks on machine instance
|
145
195
|
* Add once_on type of callback
|
146
196
|
* Add off method for removing callbacks
|
147
197
|
* Add async method to state_machine for asynchronous events firing
|
148
|
-
* Fix Callable to correctly forward arguments
|
149
198
|
* Add state helpers fsm.green? to allow easily check current state
|
150
199
|
|
151
|
-
|
200
|
+
### Changed
|
201
|
+
* Change attr_threadsafe to accept default values
|
202
|
+
* Move development dependencies to Gemfile
|
203
|
+
* Increase test coverage to 95%
|
152
204
|
|
153
|
-
|
154
|
-
*
|
155
|
-
* Fix
|
156
|
-
*
|
157
|
-
|
158
|
-
|
205
|
+
### Fixed
|
206
|
+
* Fix bug with event methods dynamic redefinition
|
207
|
+
* Fix observer respond_to
|
208
|
+
* Fix Callable to correctly forward arguments
|
209
|
+
|
210
|
+
## [v0.2.0] - 2014-03-01
|
211
|
+
|
212
|
+
### Added
|
159
213
|
* Add generic state and event listeners
|
160
214
|
* Add target to allow integration with external objects,
|
161
215
|
and allow easy method lookup through callback context
|
162
216
|
* Add ability to specify custom handlers for error conditions
|
217
|
+
* Add methods synchronization for thread safety
|
218
|
+
* Add ability to define custom initial event
|
219
|
+
* Add hooks class for callbacks registration
|
220
|
+
|
221
|
+
### Changed
|
222
|
+
* Change to ensure correct transition object state
|
223
|
+
* Extend threadable accessors
|
224
|
+
|
225
|
+
### Fixed
|
226
|
+
* Fix bug - callback event object returns correct from state
|
227
|
+
|
228
|
+
[v0.11.1]: https://github.com/peter-murach/finite_machine/compare/v0.11.0...v0.11.1
|
229
|
+
[v0.11.0]: https://github.com/peter-murach/finite_machine/compare/v0.10.2...v0.11.0
|
230
|
+
[v0.10.2]: https://github.com/peter-murach/finite_machine/compare/v0.10.1...v0.10.2
|
231
|
+
[v0.10.1]: https://github.com/peter-murach/finite_machine/compare/v0.10.0...v0.10.1
|
232
|
+
[v0.10.0]: https://github.com/peter-murach/finite_machine/compare/v0.9.2...v0.10.0
|
233
|
+
[v0.9.2]: https://github.com/peter-murach/finite_machine/compare/v0.9.1...v0.9.2
|
234
|
+
[v0.9.1]: https://github.com/peter-murach/finite_machine/compare/v0.9.0...v0.9.1
|
235
|
+
[v0.9.0]: https://github.com/peter-murach/finite_machine/compare/v0.8.1...v0.9.0
|
236
|
+
[v0.8.1]: https://github.com/peter-murach/finite_machine/compare/v0.8.0...v0.8.1
|
237
|
+
[v0.8.0]: https://github.com/peter-murach/finite_machine/compare/v0.7.1...v0.8.0
|
238
|
+
[v0.7.1]: https://github.com/peter-murach/finite_machine/compare/v0.7.0...v0.7.1
|
239
|
+
[v0.7.0]: https://github.com/peter-murach/finite_machine/compare/v0.6.1...v0.7.0
|
240
|
+
[v0.6.1]: https://github.com/peter-murach/finite_machine/compare/v0.6.0...v0.6.1
|
241
|
+
[v0.6.0]: https://github.com/peter-murach/finite_machine/compare/v0.5.0...v0.6.0
|
242
|
+
[v0.5.0]: https://github.com/peter-murach/finite_machine/compare/v0.4.0...v0.5.0
|
243
|
+
[v0.4.0]: https://github.com/peter-murach/finite_machine/compare/v0.3.0...v0.4.0
|
244
|
+
[v0.3.0]: https://github.com/peter-murach/finite_machine/compare/v0.2.0...v0.3.0
|
245
|
+
[v0.2.0]: https://github.com/peter-murach/finite_machine/compare/v0.1.0...v0.2.0
|
data/Gemfile
CHANGED
data/finite_machine.gemspec
CHANGED
@@ -18,5 +18,6 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_development_dependency "bundler"
|
21
|
+
spec.add_development_dependency "bundler"
|
22
|
+
spec.add_development_dependency "rake"
|
22
23
|
end
|
@@ -233,19 +233,17 @@ module FiniteMachine
|
|
233
233
|
transition.to_state(from_state)
|
234
234
|
end
|
235
235
|
|
236
|
-
# Set cancelled
|
236
|
+
# Set status to cancelled for all transitions matching event name
|
237
237
|
#
|
238
238
|
# @param [Symbol] name
|
239
239
|
# the event name
|
240
|
-
# @param [Symbol] status
|
241
|
-
# true to cancel, false otherwise
|
242
240
|
#
|
243
241
|
# @return [nil]
|
244
242
|
#
|
245
243
|
# @api public
|
246
|
-
def cancel_transitions(name
|
244
|
+
def cancel_transitions(name)
|
247
245
|
chain[name].each do |trans|
|
248
|
-
trans.cancelled =
|
246
|
+
trans.cancelled = true
|
249
247
|
end
|
250
248
|
end
|
251
249
|
|
data/lib/finite_machine/hooks.rb
CHANGED
@@ -61,7 +61,7 @@ module FiniteMachine
|
|
61
61
|
# @param [Event] event
|
62
62
|
#
|
63
63
|
# @example
|
64
|
-
# hooks.call(
|
64
|
+
# hooks.call(HookEvent::Enter, :green, Event.new)
|
65
65
|
#
|
66
66
|
# @return [Hash]
|
67
67
|
#
|
@@ -79,6 +79,13 @@ module FiniteMachine
|
|
79
79
|
collection.empty?
|
80
80
|
end
|
81
81
|
|
82
|
+
# Remove all callbacks
|
83
|
+
#
|
84
|
+
# @api public
|
85
|
+
def clear
|
86
|
+
collection.clear
|
87
|
+
end
|
88
|
+
|
82
89
|
# String representation
|
83
90
|
#
|
84
91
|
# @return [String]
|
@@ -170,8 +170,10 @@ module FiniteMachine
|
|
170
170
|
result = callable.call(trans_event, *data)
|
171
171
|
end
|
172
172
|
|
173
|
-
|
174
|
-
|
173
|
+
if result == CANCELLED
|
174
|
+
hooks.clear
|
175
|
+
machine.events_chain.cancel_transitions(event.event_name)
|
176
|
+
end
|
175
177
|
end
|
176
178
|
|
177
179
|
# Callback names including all states and events
|
data/spec/unit/callbacks_spec.rb
CHANGED
@@ -708,6 +708,34 @@ RSpec.describe FiniteMachine, 'callbacks' do
|
|
708
708
|
expect(fsm.current).to eql(:green)
|
709
709
|
end
|
710
710
|
|
711
|
+
it "stops executing callbacks when cancelled" do
|
712
|
+
called = []
|
713
|
+
|
714
|
+
fsm = FiniteMachine.define do
|
715
|
+
initial :initial
|
716
|
+
|
717
|
+
events { event :bump, initial: :low }
|
718
|
+
|
719
|
+
callbacks {
|
720
|
+
on_before do |event|
|
721
|
+
called << "enter_#{event.name}_#{event.from}_#{event.to}"
|
722
|
+
|
723
|
+
FiniteMachine::CANCELLED
|
724
|
+
end
|
725
|
+
|
726
|
+
on_exit :initial do |event| called << "exit_initial" end
|
727
|
+
on_exit do |event| called << "exit_any" end
|
728
|
+
on_enter :low do |event| called << "enter_low" end
|
729
|
+
on_after :bump do |event| called << "after_#{event.name}" end
|
730
|
+
on_after do |event| called << "after_any" end
|
731
|
+
}
|
732
|
+
end
|
733
|
+
|
734
|
+
fsm.bump
|
735
|
+
|
736
|
+
expect(called).to eq(['enter_bump_initial_low'])
|
737
|
+
end
|
738
|
+
|
711
739
|
xit "groups callbacks"
|
712
740
|
|
713
741
|
it "groups states from separate events with the same name" do
|
@@ -13,7 +13,7 @@ RSpec.describe FiniteMachine::EventsChain, '.cancel_transitions' do
|
|
13
13
|
events_chain.add(:start, transition_b)
|
14
14
|
events_chain.add(:finish, transition_c)
|
15
15
|
|
16
|
-
events_chain.cancel_transitions(:start
|
16
|
+
events_chain.cancel_transitions(:start)
|
17
17
|
|
18
18
|
expect(transition_a).to have_received(:cancelled=).with(true)
|
19
19
|
expect(transition_b).to have_received(:cancelled=).with(true)
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
RSpec.describe FiniteMachine::Hooks, '#clear' do
|
4
|
+
it "clears all registered hooks" do
|
5
|
+
hooks = described_class.new
|
6
|
+
|
7
|
+
event_type = FiniteMachine::HookEvent::Before
|
8
|
+
hook = -> { }
|
9
|
+
hooks.register(event_type, :foo, hook)
|
10
|
+
hooks.register(event_type, :bar, hook)
|
11
|
+
|
12
|
+
expect(hooks.empty?).to eq(false)
|
13
|
+
hooks.clear
|
14
|
+
expect(hooks.empty?).to eq(true)
|
15
|
+
end
|
16
|
+
end
|
metadata
CHANGED
@@ -1,29 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: finite_machine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Piotr Murach
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
description: A minimal finite state machine with a straightforward syntax. You can
|
28
42
|
quickly model states, add callbacks and use object-oriented techniques to integrate
|
29
43
|
with ORMs.
|
@@ -104,6 +118,7 @@ files:
|
|
104
118
|
- spec/unit/hook_event/initialize_spec.rb
|
105
119
|
- spec/unit/hook_event/notify_spec.rb
|
106
120
|
- spec/unit/hooks/call_spec.rb
|
121
|
+
- spec/unit/hooks/clear_spec.rb
|
107
122
|
- spec/unit/hooks/inspect_spec.rb
|
108
123
|
- spec/unit/hooks/register_spec.rb
|
109
124
|
- spec/unit/if_unless_spec.rb
|
@@ -181,6 +196,7 @@ test_files:
|
|
181
196
|
- spec/unit/hook_event/initialize_spec.rb
|
182
197
|
- spec/unit/hook_event/notify_spec.rb
|
183
198
|
- spec/unit/hooks/call_spec.rb
|
199
|
+
- spec/unit/hooks/clear_spec.rb
|
184
200
|
- spec/unit/hooks/inspect_spec.rb
|
185
201
|
- spec/unit/hooks/register_spec.rb
|
186
202
|
- spec/unit/if_unless_spec.rb
|