aasm 4.0.8 → 4.2.0
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/.travis.yml +5 -2
- data/CHANGELOG.md +18 -2
- data/CODE_OF_CONDUCT.md +13 -0
- data/Gemfile +6 -3
- data/LICENSE +1 -1
- data/README.md +31 -5
- data/aasm.gemspec +1 -5
- data/gemfiles/rails_3.2.gemfile +3 -2
- data/gemfiles/rails_4.0.gemfile +2 -6
- data/gemfiles/rails_4.0_bson1.gemfile +14 -0
- data/gemfiles/rails_4.1.gemfile +2 -6
- data/gemfiles/rails_4.1_bson1.gemfile +14 -0
- data/gemfiles/rails_4.2.gemfile +1 -5
- data/gemfiles/rails_4.2_bson1.gemfile +14 -0
- data/lib/aasm/aasm.rb +13 -7
- data/lib/aasm/base.rb +12 -4
- data/lib/aasm/core/event.rb +1 -1
- data/lib/aasm/core/state.rb +8 -6
- data/lib/aasm/errors.rb +12 -1
- data/lib/aasm/persistence/active_record_persistence.rb +4 -4
- data/lib/aasm/persistence/base.rb +3 -0
- data/lib/aasm/persistence/mongo_mapper_persistence.rb +174 -0
- data/lib/aasm/persistence/mongoid_persistence.rb +1 -5
- data/lib/aasm/persistence/sequel_persistence.rb +1 -0
- data/lib/aasm/persistence.rb +2 -0
- data/lib/aasm/version.rb +1 -1
- data/spec/models/active_record/derivate_new_dsl.rb +3 -0
- data/spec/models/active_record/false_state.rb +17 -0
- data/spec/models/active_record/gate.rb +19 -0
- data/spec/models/active_record/localizer_test_model.rb +34 -0
- data/spec/models/active_record/no_direct_assignment.rb +10 -0
- data/spec/models/active_record/no_scope.rb +10 -0
- data/spec/models/active_record/persisted_state.rb +12 -0
- data/spec/models/active_record/provided_and_persisted_state.rb +24 -0
- data/spec/models/active_record/reader.rb +7 -0
- data/spec/models/active_record/simple_new_dsl.rb +8 -0
- data/spec/models/active_record/thief.rb +14 -0
- data/spec/models/active_record/transient.rb +6 -0
- data/spec/models/active_record/with_enum.rb +19 -0
- data/spec/models/active_record/with_false_enum.rb +15 -0
- data/spec/models/active_record/with_true_enum.rb +19 -0
- data/spec/models/active_record/writer.rb +6 -0
- data/spec/models/callbacks/with_args.rb +9 -9
- data/spec/models/{auth_machine.rb → complex_example.rb} +1 -1
- data/spec/models/default_state.rb +12 -0
- data/spec/models/initial_state_proc.rb +15 -0
- data/spec/models/mongo_mapper/no_scope_mongo_mapper.rb +10 -0
- data/spec/models/mongo_mapper/simple_mongo_mapper.rb +11 -0
- data/spec/models/mongo_mapper/simple_new_dsl_mongo_mapper.rb +12 -0
- data/spec/models/mongoid/simple_new_dsl_mongoid.rb +1 -1
- data/spec/models/{bar.rb → no_initial_state.rb} +1 -4
- data/spec/models/provided_state.rb +24 -0
- data/spec/models/simple_example.rb +15 -0
- data/spec/models/state_machine_with_failed_event.rb +12 -0
- data/spec/models/sub_class.rb +3 -0
- data/spec/models/sub_class_with_more_states.rb +7 -0
- data/spec/models/super_class.rb +18 -0
- data/spec/models/{argument.rb → valid_state_name.rb} +1 -1
- data/spec/models/validator.rb +8 -0
- data/spec/spec_helper.rb +3 -4
- data/spec/unit/api_spec.rb +6 -1
- data/spec/unit/callbacks_spec.rb +1 -1
- data/spec/unit/complex_example_spec.rb +2 -2
- data/spec/unit/event_naming_spec.rb +2 -15
- data/spec/unit/initial_state_spec.rb +3 -18
- data/spec/unit/inspection_spec.rb +7 -7
- data/spec/unit/localizer_spec.rb +0 -38
- data/spec/unit/persistence/active_record_persistence_spec.rb +26 -3
- data/spec/unit/persistence/mongo_mapper_persistance_spec.rb +135 -0
- data/spec/unit/persistence/mongoid_persistance_spec.rb +4 -10
- data/spec/unit/persistence/sequel_persistence_spec.rb +15 -1
- data/spec/unit/simple_example_spec.rb +26 -42
- data/spec/unit/subclassing_spec.rb +10 -10
- data/spec/unit/transition_spec.rb +6 -1
- metadata +72 -19
- data/spec/models/active_record/api.rb +0 -75
- data/spec/models/father.rb +0 -21
- data/spec/models/persistence.rb +0 -164
- data/spec/models/son.rb +0 -3
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: aasm
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.0
|
|
4
|
+
version: 4.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Scott Barron
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date:
|
|
13
|
+
date: 2015-06-23 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: rake
|
|
@@ -46,14 +46,14 @@ dependencies:
|
|
|
46
46
|
requirements:
|
|
47
47
|
- - ">="
|
|
48
48
|
- !ruby/object:Gem::Version
|
|
49
|
-
version: '
|
|
49
|
+
version: '3'
|
|
50
50
|
type: :development
|
|
51
51
|
prerelease: false
|
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
|
53
53
|
requirements:
|
|
54
54
|
- - ">="
|
|
55
55
|
- !ruby/object:Gem::Version
|
|
56
|
-
version: '
|
|
56
|
+
version: '3'
|
|
57
57
|
- !ruby/object:Gem::Dependency
|
|
58
58
|
name: pry
|
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -80,6 +80,7 @@ files:
|
|
|
80
80
|
- ".travis.yml"
|
|
81
81
|
- API
|
|
82
82
|
- CHANGELOG.md
|
|
83
|
+
- CODE_OF_CONDUCT.md
|
|
83
84
|
- Gemfile
|
|
84
85
|
- HOWTO
|
|
85
86
|
- LICENSE
|
|
@@ -91,8 +92,11 @@ files:
|
|
|
91
92
|
- callbacks.txt
|
|
92
93
|
- gemfiles/rails_3.2.gemfile
|
|
93
94
|
- gemfiles/rails_4.0.gemfile
|
|
95
|
+
- gemfiles/rails_4.0_bson1.gemfile
|
|
94
96
|
- gemfiles/rails_4.1.gemfile
|
|
97
|
+
- gemfiles/rails_4.1_bson1.gemfile
|
|
95
98
|
- gemfiles/rails_4.2.gemfile
|
|
99
|
+
- gemfiles/rails_4.2_bson1.gemfile
|
|
96
100
|
- lib/aasm.rb
|
|
97
101
|
- lib/aasm/aasm.rb
|
|
98
102
|
- lib/aasm/base.rb
|
|
@@ -107,6 +111,7 @@ files:
|
|
|
107
111
|
- lib/aasm/persistence.rb
|
|
108
112
|
- lib/aasm/persistence/active_record_persistence.rb
|
|
109
113
|
- lib/aasm/persistence/base.rb
|
|
114
|
+
- lib/aasm/persistence/mongo_mapper_persistence.rb
|
|
110
115
|
- lib/aasm/persistence/mongoid_persistence.rb
|
|
111
116
|
- lib/aasm/persistence/plain_persistence.rb
|
|
112
117
|
- lib/aasm/persistence/sequel_persistence.rb
|
|
@@ -116,34 +121,57 @@ files:
|
|
|
116
121
|
- spec/database.yml
|
|
117
122
|
- spec/en.yml
|
|
118
123
|
- spec/en_deprecated_style.yml
|
|
119
|
-
- spec/models/active_record/
|
|
120
|
-
- spec/models/
|
|
121
|
-
- spec/models/
|
|
122
|
-
- spec/models/
|
|
124
|
+
- spec/models/active_record/derivate_new_dsl.rb
|
|
125
|
+
- spec/models/active_record/false_state.rb
|
|
126
|
+
- spec/models/active_record/gate.rb
|
|
127
|
+
- spec/models/active_record/localizer_test_model.rb
|
|
128
|
+
- spec/models/active_record/no_direct_assignment.rb
|
|
129
|
+
- spec/models/active_record/no_scope.rb
|
|
130
|
+
- spec/models/active_record/persisted_state.rb
|
|
131
|
+
- spec/models/active_record/provided_and_persisted_state.rb
|
|
132
|
+
- spec/models/active_record/reader.rb
|
|
133
|
+
- spec/models/active_record/simple_new_dsl.rb
|
|
134
|
+
- spec/models/active_record/thief.rb
|
|
135
|
+
- spec/models/active_record/transient.rb
|
|
136
|
+
- spec/models/active_record/with_enum.rb
|
|
137
|
+
- spec/models/active_record/with_false_enum.rb
|
|
138
|
+
- spec/models/active_record/with_true_enum.rb
|
|
139
|
+
- spec/models/active_record/writer.rb
|
|
123
140
|
- spec/models/callbacks/basic.rb
|
|
124
141
|
- spec/models/callbacks/guard_within_block.rb
|
|
125
142
|
- spec/models/callbacks/multiple_transitions_transition_guard.rb
|
|
126
143
|
- spec/models/callbacks/private_method.rb
|
|
127
144
|
- spec/models/callbacks/with_args.rb
|
|
128
145
|
- spec/models/callbacks/with_state_args.rb
|
|
146
|
+
- spec/models/complex_example.rb
|
|
129
147
|
- spec/models/conversation.rb
|
|
148
|
+
- spec/models/default_state.rb
|
|
130
149
|
- spec/models/double_definer.rb
|
|
131
|
-
- spec/models/father.rb
|
|
132
150
|
- spec/models/foo.rb
|
|
133
151
|
- spec/models/guardian.rb
|
|
152
|
+
- spec/models/initial_state_proc.rb
|
|
134
153
|
- spec/models/invalid_persistor.rb
|
|
154
|
+
- spec/models/mongo_mapper/no_scope_mongo_mapper.rb
|
|
155
|
+
- spec/models/mongo_mapper/simple_mongo_mapper.rb
|
|
156
|
+
- spec/models/mongo_mapper/simple_new_dsl_mongo_mapper.rb
|
|
135
157
|
- spec/models/mongoid/no_scope_mongoid.rb
|
|
136
158
|
- spec/models/mongoid/simple_mongoid.rb
|
|
137
159
|
- spec/models/mongoid/simple_new_dsl_mongoid.rb
|
|
160
|
+
- spec/models/no_initial_state.rb
|
|
138
161
|
- spec/models/not_auto_loaded/process.rb
|
|
139
162
|
- spec/models/parametrised_event.rb
|
|
140
|
-
- spec/models/persistence.rb
|
|
141
163
|
- spec/models/process_with_new_dsl.rb
|
|
164
|
+
- spec/models/provided_state.rb
|
|
142
165
|
- spec/models/silencer.rb
|
|
143
|
-
- spec/models/
|
|
166
|
+
- spec/models/simple_example.rb
|
|
167
|
+
- spec/models/state_machine_with_failed_event.rb
|
|
168
|
+
- spec/models/sub_class.rb
|
|
169
|
+
- spec/models/sub_class_with_more_states.rb
|
|
144
170
|
- spec/models/sub_classing.rb
|
|
171
|
+
- spec/models/super_class.rb
|
|
145
172
|
- spec/models/this_name_better_not_be_in_use.rb
|
|
146
173
|
- spec/models/transactor.rb
|
|
174
|
+
- spec/models/valid_state_name.rb
|
|
147
175
|
- spec/models/validator.rb
|
|
148
176
|
- spec/models/worker.rb
|
|
149
177
|
- spec/spec_helper.rb
|
|
@@ -159,6 +187,7 @@ files:
|
|
|
159
187
|
- spec/unit/memory_leak_spec.rb
|
|
160
188
|
- spec/unit/new_dsl_spec.rb
|
|
161
189
|
- spec/unit/persistence/active_record_persistence_spec.rb
|
|
190
|
+
- spec/unit/persistence/mongo_mapper_persistance_spec.rb
|
|
162
191
|
- spec/unit/persistence/mongoid_persistance_spec.rb
|
|
163
192
|
- spec/unit/persistence/sequel_persistence_spec.rb
|
|
164
193
|
- spec/unit/reloading_spec.rb
|
|
@@ -186,7 +215,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
186
215
|
version: '0'
|
|
187
216
|
requirements: []
|
|
188
217
|
rubyforge_project:
|
|
189
|
-
rubygems_version: 2.
|
|
218
|
+
rubygems_version: 2.4.5
|
|
190
219
|
signing_key:
|
|
191
220
|
specification_version: 4
|
|
192
221
|
summary: State machine mixin for Ruby objects
|
|
@@ -195,34 +224,57 @@ test_files:
|
|
|
195
224
|
- spec/database.yml
|
|
196
225
|
- spec/en.yml
|
|
197
226
|
- spec/en_deprecated_style.yml
|
|
198
|
-
- spec/models/active_record/
|
|
199
|
-
- spec/models/
|
|
200
|
-
- spec/models/
|
|
201
|
-
- spec/models/
|
|
227
|
+
- spec/models/active_record/derivate_new_dsl.rb
|
|
228
|
+
- spec/models/active_record/false_state.rb
|
|
229
|
+
- spec/models/active_record/gate.rb
|
|
230
|
+
- spec/models/active_record/localizer_test_model.rb
|
|
231
|
+
- spec/models/active_record/no_direct_assignment.rb
|
|
232
|
+
- spec/models/active_record/no_scope.rb
|
|
233
|
+
- spec/models/active_record/persisted_state.rb
|
|
234
|
+
- spec/models/active_record/provided_and_persisted_state.rb
|
|
235
|
+
- spec/models/active_record/reader.rb
|
|
236
|
+
- spec/models/active_record/simple_new_dsl.rb
|
|
237
|
+
- spec/models/active_record/thief.rb
|
|
238
|
+
- spec/models/active_record/transient.rb
|
|
239
|
+
- spec/models/active_record/with_enum.rb
|
|
240
|
+
- spec/models/active_record/with_false_enum.rb
|
|
241
|
+
- spec/models/active_record/with_true_enum.rb
|
|
242
|
+
- spec/models/active_record/writer.rb
|
|
202
243
|
- spec/models/callbacks/basic.rb
|
|
203
244
|
- spec/models/callbacks/guard_within_block.rb
|
|
204
245
|
- spec/models/callbacks/multiple_transitions_transition_guard.rb
|
|
205
246
|
- spec/models/callbacks/private_method.rb
|
|
206
247
|
- spec/models/callbacks/with_args.rb
|
|
207
248
|
- spec/models/callbacks/with_state_args.rb
|
|
249
|
+
- spec/models/complex_example.rb
|
|
208
250
|
- spec/models/conversation.rb
|
|
251
|
+
- spec/models/default_state.rb
|
|
209
252
|
- spec/models/double_definer.rb
|
|
210
|
-
- spec/models/father.rb
|
|
211
253
|
- spec/models/foo.rb
|
|
212
254
|
- spec/models/guardian.rb
|
|
255
|
+
- spec/models/initial_state_proc.rb
|
|
213
256
|
- spec/models/invalid_persistor.rb
|
|
257
|
+
- spec/models/mongo_mapper/no_scope_mongo_mapper.rb
|
|
258
|
+
- spec/models/mongo_mapper/simple_mongo_mapper.rb
|
|
259
|
+
- spec/models/mongo_mapper/simple_new_dsl_mongo_mapper.rb
|
|
214
260
|
- spec/models/mongoid/no_scope_mongoid.rb
|
|
215
261
|
- spec/models/mongoid/simple_mongoid.rb
|
|
216
262
|
- spec/models/mongoid/simple_new_dsl_mongoid.rb
|
|
263
|
+
- spec/models/no_initial_state.rb
|
|
217
264
|
- spec/models/not_auto_loaded/process.rb
|
|
218
265
|
- spec/models/parametrised_event.rb
|
|
219
|
-
- spec/models/persistence.rb
|
|
220
266
|
- spec/models/process_with_new_dsl.rb
|
|
267
|
+
- spec/models/provided_state.rb
|
|
221
268
|
- spec/models/silencer.rb
|
|
222
|
-
- spec/models/
|
|
269
|
+
- spec/models/simple_example.rb
|
|
270
|
+
- spec/models/state_machine_with_failed_event.rb
|
|
271
|
+
- spec/models/sub_class.rb
|
|
272
|
+
- spec/models/sub_class_with_more_states.rb
|
|
223
273
|
- spec/models/sub_classing.rb
|
|
274
|
+
- spec/models/super_class.rb
|
|
224
275
|
- spec/models/this_name_better_not_be_in_use.rb
|
|
225
276
|
- spec/models/transactor.rb
|
|
277
|
+
- spec/models/valid_state_name.rb
|
|
226
278
|
- spec/models/validator.rb
|
|
227
279
|
- spec/models/worker.rb
|
|
228
280
|
- spec/spec_helper.rb
|
|
@@ -238,6 +290,7 @@ test_files:
|
|
|
238
290
|
- spec/unit/memory_leak_spec.rb
|
|
239
291
|
- spec/unit/new_dsl_spec.rb
|
|
240
292
|
- spec/unit/persistence/active_record_persistence_spec.rb
|
|
293
|
+
- spec/unit/persistence/mongo_mapper_persistance_spec.rb
|
|
241
294
|
- spec/unit/persistence/mongoid_persistance_spec.rb
|
|
242
295
|
- spec/unit/persistence/sequel_persistence_spec.rb
|
|
243
296
|
- spec/unit/reloading_spec.rb
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
class DefaultState
|
|
2
|
-
attr_accessor :transient_store, :persisted_store
|
|
3
|
-
include AASM
|
|
4
|
-
aasm do
|
|
5
|
-
state :alpha, :initial => true
|
|
6
|
-
state :beta
|
|
7
|
-
state :gamma
|
|
8
|
-
event :release do
|
|
9
|
-
transitions :from => [:alpha, :beta, :gamma], :to => :beta
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
class ProvidedState
|
|
15
|
-
attr_accessor :transient_store, :persisted_store
|
|
16
|
-
include AASM
|
|
17
|
-
aasm do
|
|
18
|
-
state :alpha, :initial => true
|
|
19
|
-
state :beta
|
|
20
|
-
state :gamma
|
|
21
|
-
event :release do
|
|
22
|
-
transitions :from => [:alpha, :beta, :gamma], :to => :beta
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def aasm_read_state
|
|
27
|
-
:beta
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def aasm_write_state(new_state)
|
|
31
|
-
@persisted_store = new_state
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def aasm_write_state_without_persistence(new_state)
|
|
35
|
-
@transient_store = new_state
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
class PersistedState < ActiveRecord::Base
|
|
40
|
-
attr_accessor :transient_store, :persisted_store
|
|
41
|
-
include AASM
|
|
42
|
-
aasm do
|
|
43
|
-
state :alpha, :initial => true
|
|
44
|
-
state :beta
|
|
45
|
-
state :gamma
|
|
46
|
-
event :release do
|
|
47
|
-
transitions :from => [:alpha, :beta, :gamma], :to => :beta
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
class ProvidedAndPersistedState < ActiveRecord::Base
|
|
53
|
-
attr_accessor :transient_store, :persisted_store
|
|
54
|
-
include AASM
|
|
55
|
-
aasm do
|
|
56
|
-
state :alpha, :initial => true
|
|
57
|
-
state :beta
|
|
58
|
-
state :gamma
|
|
59
|
-
event :release do
|
|
60
|
-
transitions :from => [:alpha, :beta, :gamma], :to => :beta
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
def aasm_read_state
|
|
65
|
-
:gamma
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
def aasm_write_state(new_state)
|
|
69
|
-
@persisted_store = new_state
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
def aasm_write_state_without_persistence(new_state)
|
|
73
|
-
@transient_store = new_state
|
|
74
|
-
end
|
|
75
|
-
end
|
data/spec/models/father.rb
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
require 'active_record'
|
|
2
|
-
|
|
3
|
-
class Father < ActiveRecord::Base
|
|
4
|
-
include AASM
|
|
5
|
-
|
|
6
|
-
aasm do
|
|
7
|
-
state :missing_details, :initial => true
|
|
8
|
-
state :pending_details_confirmation
|
|
9
|
-
|
|
10
|
-
event :add_details do
|
|
11
|
-
transitions :from => :missing_details, :to => :pending_details_confirmation
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def update_state
|
|
16
|
-
if may_add_details?
|
|
17
|
-
add_details!
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
end
|
data/spec/models/persistence.rb
DELETED
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
class Gate < ActiveRecord::Base
|
|
2
|
-
include AASM
|
|
3
|
-
|
|
4
|
-
# Fake this column for testing purposes
|
|
5
|
-
# attr_accessor :aasm_state
|
|
6
|
-
|
|
7
|
-
def value
|
|
8
|
-
'value'
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
aasm do
|
|
12
|
-
state :opened
|
|
13
|
-
state :closed
|
|
14
|
-
|
|
15
|
-
event :view do
|
|
16
|
-
transitions :to => :read, :from => [:needs_attention]
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
class FalseState < ActiveRecord::Base
|
|
22
|
-
include AASM
|
|
23
|
-
|
|
24
|
-
def initialize(*args)
|
|
25
|
-
super
|
|
26
|
-
self.aasm_state = false
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
aasm do
|
|
30
|
-
state :opened
|
|
31
|
-
state :closed
|
|
32
|
-
|
|
33
|
-
event :view do
|
|
34
|
-
transitions :to => :read, :from => [:needs_attention]
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
class WithEnum < ActiveRecord::Base
|
|
40
|
-
include AASM
|
|
41
|
-
|
|
42
|
-
# Fake this column for testing purposes
|
|
43
|
-
attr_accessor :aasm_state
|
|
44
|
-
|
|
45
|
-
def self.test
|
|
46
|
-
{}
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
aasm :enum => :test do
|
|
50
|
-
state :opened
|
|
51
|
-
state :closed
|
|
52
|
-
|
|
53
|
-
event :view do
|
|
54
|
-
transitions :to => :read, :from => [:needs_attention]
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
class WithTrueEnum < ActiveRecord::Base
|
|
60
|
-
include AASM
|
|
61
|
-
|
|
62
|
-
# Fake this column for testing purposes
|
|
63
|
-
attr_accessor :aasm_state
|
|
64
|
-
|
|
65
|
-
def value
|
|
66
|
-
'value'
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
aasm :enum => true do
|
|
70
|
-
state :opened
|
|
71
|
-
state :closed
|
|
72
|
-
|
|
73
|
-
event :view do
|
|
74
|
-
transitions :to => :read, :from => [:needs_attention]
|
|
75
|
-
end
|
|
76
|
-
end
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
class WithFalseEnum < ActiveRecord::Base
|
|
80
|
-
include AASM
|
|
81
|
-
|
|
82
|
-
# Fake this column for testing purposes
|
|
83
|
-
attr_accessor :aasm_state
|
|
84
|
-
|
|
85
|
-
aasm :enum => false do
|
|
86
|
-
state :opened
|
|
87
|
-
state :closed
|
|
88
|
-
|
|
89
|
-
event :view do
|
|
90
|
-
transitions :to => :read, :from => [:needs_attention]
|
|
91
|
-
end
|
|
92
|
-
end
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
class Reader < ActiveRecord::Base
|
|
96
|
-
include AASM
|
|
97
|
-
|
|
98
|
-
def aasm_read_state
|
|
99
|
-
"fi"
|
|
100
|
-
end
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
class Writer < ActiveRecord::Base
|
|
104
|
-
def aasm_write_state(state)
|
|
105
|
-
"fo"
|
|
106
|
-
end
|
|
107
|
-
include AASM
|
|
108
|
-
end
|
|
109
|
-
|
|
110
|
-
class Transient < ActiveRecord::Base
|
|
111
|
-
def aasm_write_state_without_persistence(state)
|
|
112
|
-
"fum"
|
|
113
|
-
end
|
|
114
|
-
include AASM
|
|
115
|
-
end
|
|
116
|
-
|
|
117
|
-
class SimpleNewDsl < ActiveRecord::Base
|
|
118
|
-
include AASM
|
|
119
|
-
aasm :column => :status
|
|
120
|
-
aasm do
|
|
121
|
-
state :unknown_scope
|
|
122
|
-
state :new
|
|
123
|
-
end
|
|
124
|
-
end
|
|
125
|
-
|
|
126
|
-
class NoScope < ActiveRecord::Base
|
|
127
|
-
include AASM
|
|
128
|
-
aasm :create_scopes => false do
|
|
129
|
-
state :pending, :initial => true
|
|
130
|
-
state :running
|
|
131
|
-
event :run do
|
|
132
|
-
transitions :from => :pending, :to => :running
|
|
133
|
-
end
|
|
134
|
-
end
|
|
135
|
-
end
|
|
136
|
-
|
|
137
|
-
class NoDirectAssignment < ActiveRecord::Base
|
|
138
|
-
include AASM
|
|
139
|
-
aasm :no_direct_assignment => true do
|
|
140
|
-
state :pending, :initial => true
|
|
141
|
-
state :running
|
|
142
|
-
event :run do
|
|
143
|
-
transitions :from => :pending, :to => :running
|
|
144
|
-
end
|
|
145
|
-
end
|
|
146
|
-
end
|
|
147
|
-
|
|
148
|
-
class DerivateNewDsl < SimpleNewDsl
|
|
149
|
-
end
|
|
150
|
-
|
|
151
|
-
class Thief < ActiveRecord::Base
|
|
152
|
-
if ActiveRecord::VERSION::MAJOR >= 3
|
|
153
|
-
self.table_name = 'thieves'
|
|
154
|
-
else
|
|
155
|
-
set_table_name "thieves"
|
|
156
|
-
end
|
|
157
|
-
include AASM
|
|
158
|
-
aasm do
|
|
159
|
-
state :rich
|
|
160
|
-
state :jailed
|
|
161
|
-
initial_state Proc.new {|thief| thief.skilled ? :rich : :jailed }
|
|
162
|
-
end
|
|
163
|
-
attr_accessor :skilled, :aasm_state
|
|
164
|
-
end
|
data/spec/models/son.rb
DELETED