statesman 3.5.0 → 6.0.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 +5 -5
- data/.circleci/config.yml +45 -225
- data/.rubocop.yml +1 -1
- data/.rubocop_todo.yml +26 -6
- data/CHANGELOG.md +69 -0
- data/Gemfile +9 -3
- data/Guardfile +2 -0
- data/README.md +77 -47
- data/Rakefile +2 -4
- data/lib/generators/statesman/active_record_transition_generator.rb +2 -0
- data/lib/generators/statesman/generator_helpers.rb +2 -0
- data/lib/generators/statesman/migration_generator.rb +2 -0
- data/lib/statesman/adapters/active_record.rb +88 -6
- data/lib/statesman/adapters/active_record_queries.rb +100 -36
- data/lib/statesman/adapters/active_record_transition.rb +2 -0
- data/lib/statesman/adapters/memory.rb +2 -0
- data/lib/statesman/adapters/memory_transition.rb +2 -0
- data/lib/statesman/callback.rb +2 -0
- data/lib/statesman/config.rb +2 -0
- data/lib/statesman/exceptions.rb +29 -2
- data/lib/statesman/guard.rb +3 -4
- data/lib/statesman/machine.rb +29 -7
- data/lib/statesman/railtie.rb +2 -0
- data/lib/statesman/utils.rb +2 -0
- data/lib/statesman/version.rb +3 -1
- data/lib/statesman.rb +2 -3
- data/lib/tasks/statesman.rake +3 -1
- data/spec/fixtures/add_constraints_to_most_recent_for_bacon_transitions_with_partial_index.rb +2 -0
- data/spec/fixtures/add_constraints_to_most_recent_for_bacon_transitions_without_partial_index.rb +2 -0
- data/spec/fixtures/add_most_recent_to_bacon_transitions.rb +2 -0
- data/spec/generators/statesman/active_record_transition_generator_spec.rb +2 -0
- data/spec/generators/statesman/migration_generator_spec.rb +2 -0
- data/spec/spec_helper.rb +3 -30
- data/spec/statesman/adapters/active_record_queries_spec.rb +165 -91
- data/spec/statesman/adapters/active_record_spec.rb +4 -0
- data/spec/statesman/adapters/active_record_transition_spec.rb +2 -0
- data/spec/statesman/adapters/memory_spec.rb +2 -0
- data/spec/statesman/adapters/memory_transition_spec.rb +2 -0
- data/spec/statesman/adapters/shared_examples.rb +2 -0
- data/spec/statesman/callback_spec.rb +2 -0
- data/spec/statesman/config_spec.rb +2 -0
- data/spec/statesman/guard_spec.rb +2 -0
- data/spec/statesman/machine_spec.rb +79 -4
- data/spec/statesman/utils_spec.rb +2 -0
- data/spec/support/active_record.rb +9 -12
- data/spec/support/generators_shared_examples.rb +2 -0
- data/statesman.gemspec +5 -3
- metadata +17 -22
- data/lib/generators/statesman/mongoid_transition_generator.rb +0 -25
- data/lib/generators/statesman/templates/mongoid_transition_model.rb.erb +0 -14
- data/lib/statesman/adapters/mongoid.rb +0 -66
- data/lib/statesman/adapters/mongoid_transition.rb +0 -10
- data/spec/generators/statesman/mongoid_transition_generator_spec.rb +0 -23
- data/spec/statesman/adapters/mongoid_spec.rb +0 -86
- data/spec/support/mongoid.rb +0 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 75560d08df4affec82126fce63627c30902c534e0e8fd11dd89fdd1c94f66b6b
|
4
|
+
data.tar.gz: 3308c1cdff0e0cc32c2e964fac6c7e641bd841384c50d94eb824cae785822c3a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7cb81b50c75c21841f729fa91635cc6470397bafdc683b0ccdee1809e99cc2961ab3084d3fcd256b1b062d1362b6a17e2c7d63ea63dad9d6bc7ae8143d982542
|
7
|
+
data.tar.gz: 3885a1f4459572a92f3c47c6544d5a6eab1e8c38d0adb4206dbde7ad331953090822e3c2930eef695139e96a88df47bf55f4b2eb9df084d5724edab0e97c36ea
|
data/.circleci/config.yml
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
---
|
1
2
|
version: 2
|
2
3
|
|
3
4
|
references:
|
@@ -11,7 +12,7 @@ references:
|
|
11
12
|
- type: cache-restore
|
12
13
|
key: statesman-{{ checksum "Gemfile" }}-{{ checksum "~/RAILS_VERSION.txt" }}
|
13
14
|
|
14
|
-
- run: gem install bundler
|
15
|
+
- run: gem install bundler -v 1.3
|
15
16
|
|
16
17
|
- run: bundle install --path vendor/bundle
|
17
18
|
|
@@ -30,129 +31,12 @@ references:
|
|
30
31
|
path: /tmp/test-results
|
31
32
|
|
32
33
|
jobs:
|
33
|
-
build-
|
34
|
+
build-ruby249-rails-429-mysql:
|
34
35
|
docker:
|
35
|
-
- image: circleci/ruby:2.4.
|
36
|
-
environment:
|
37
|
-
- RAILS_VERSION=4.2.9
|
38
|
-
- DATABASE_DEPENDENCY_PORT=27017
|
39
|
-
- image: circleci/mongo:3
|
40
|
-
steps: *steps
|
41
|
-
build-ruby241-rails-429-mysql:
|
42
|
-
docker:
|
43
|
-
- image: circleci/ruby:2.4.1-node
|
44
|
-
environment:
|
45
|
-
- RAILS_VERSION=4.2.9
|
46
|
-
- DATABASE_URL=mysql2://root@127.0.0.1/statesman_test
|
47
|
-
- EXCLUDE_MONGOID=true
|
48
|
-
- DATABASE_DEPENDENCY_PORT=3306
|
49
|
-
- image: circleci/mysql:5.7.18
|
50
|
-
environment:
|
51
|
-
- MYSQL_ALLOW_EMPTY_PASSWORD=true
|
52
|
-
- MYSQL_USER=root
|
53
|
-
- MYSQL_PASSWORD=
|
54
|
-
- MYSQL_DATABASE=statesman_test
|
55
|
-
steps: *steps
|
56
|
-
build-ruby241-rails-429-postgres:
|
57
|
-
docker:
|
58
|
-
- image: circleci/ruby:2.4.1-node
|
59
|
-
environment:
|
60
|
-
- RAILS_VERSION=4.2.9
|
61
|
-
- DATABASE_URL=postgres://postgres@localhost/statesman_test
|
62
|
-
- EXCLUDE_MONGOID=true
|
63
|
-
- DATABASE_DEPENDENCY_PORT=5432
|
64
|
-
- image: circleci/postgres:9.6
|
65
|
-
environment:
|
66
|
-
- POSTGRES_USER=postgres
|
67
|
-
- POSTGRES_DB=statesman_test
|
68
|
-
steps: *steps
|
69
|
-
build-ruby241-rails-505-mongo:
|
70
|
-
docker:
|
71
|
-
- image: circleci/ruby:2.4.1-node
|
72
|
-
environment:
|
73
|
-
- RAILS_VERSION=5.0.5
|
74
|
-
- DATABASE_DEPENDENCY_PORT=27017
|
75
|
-
- image: circleci/mongo:3
|
76
|
-
steps: *steps
|
77
|
-
build-ruby241-rails-505-mysql:
|
78
|
-
docker:
|
79
|
-
- image: circleci/ruby:2.4.1-node
|
80
|
-
environment:
|
81
|
-
- RAILS_VERSION=5.0.5
|
82
|
-
- DATABASE_URL=mysql2://root@127.0.0.1/statesman_test
|
83
|
-
- EXCLUDE_MONGOID=true
|
84
|
-
- DATABASE_DEPENDENCY_PORT=3306
|
85
|
-
- image: circleci/mysql:5.7.18
|
86
|
-
environment:
|
87
|
-
- MYSQL_ALLOW_EMPTY_PASSWORD=true
|
88
|
-
- MYSQL_USER=root
|
89
|
-
- MYSQL_PASSWORD=
|
90
|
-
- MYSQL_DATABASE=statesman_test
|
91
|
-
steps: *steps
|
92
|
-
build-ruby241-rails-505-postgres:
|
93
|
-
docker:
|
94
|
-
- image: circleci/ruby:2.4.1-node
|
95
|
-
environment:
|
96
|
-
- RAILS_VERSION=5.0.5
|
97
|
-
- DATABASE_URL=postgres://postgres@localhost/statesman_test
|
98
|
-
- EXCLUDE_MONGOID=true
|
99
|
-
- DATABASE_DEPENDENCY_PORT=5432
|
100
|
-
- image: circleci/postgres:9.6
|
101
|
-
environment:
|
102
|
-
- POSTGRES_USER=postgres
|
103
|
-
- POSTGRES_DB=statesman_test
|
104
|
-
steps: *steps
|
105
|
-
build-ruby241-rails-513-mongo:
|
106
|
-
docker:
|
107
|
-
- image: circleci/ruby:2.4.1-node
|
108
|
-
environment:
|
109
|
-
- RAILS_VERSION=5.1.3
|
110
|
-
- DATABASE_DEPENDENCY_PORT=27017
|
111
|
-
- image: circleci/mongo:3
|
112
|
-
steps: *steps
|
113
|
-
build-ruby241-rails-513-mysql:
|
114
|
-
docker:
|
115
|
-
- image: circleci/ruby:2.4.1-node
|
116
|
-
environment:
|
117
|
-
- RAILS_VERSION=5.1.3
|
118
|
-
- DATABASE_URL=mysql2://root@127.0.0.1/statesman_test
|
119
|
-
- EXCLUDE_MONGOID=true
|
120
|
-
- DATABASE_DEPENDENCY_PORT=3306
|
121
|
-
- image: circleci/mysql:5.7.18
|
122
|
-
environment:
|
123
|
-
- MYSQL_ALLOW_EMPTY_PASSWORD=true
|
124
|
-
- MYSQL_USER=root
|
125
|
-
- MYSQL_PASSWORD=
|
126
|
-
- MYSQL_DATABASE=statesman_test
|
127
|
-
steps: *steps
|
128
|
-
build-ruby241-rails-513-postgres:
|
129
|
-
docker:
|
130
|
-
- image: circleci/ruby:2.4.1-node
|
131
|
-
environment:
|
132
|
-
- RAILS_VERSION=5.1.3
|
133
|
-
- DATABASE_URL=postgres://postgres@localhost/statesman_test
|
134
|
-
- EXCLUDE_MONGOID=true
|
135
|
-
- DATABASE_DEPENDENCY_PORT=5432
|
136
|
-
- image: circleci/postgres:9.6
|
137
|
-
environment:
|
138
|
-
- POSTGRES_USER=postgres
|
139
|
-
- POSTGRES_DB=statesman_test
|
140
|
-
steps: *steps
|
141
|
-
build-ruby233-rails-429-mongo:
|
142
|
-
docker:
|
143
|
-
- image: circleci/ruby:2.3.3-node
|
144
|
-
environment:
|
145
|
-
- RAILS_VERSION=4.2.9
|
146
|
-
- DATABASE_DEPENDENCY_PORT=27017
|
147
|
-
- image: circleci/mongo:3
|
148
|
-
steps: *steps
|
149
|
-
build-ruby233-rails-429-mysql:
|
150
|
-
docker:
|
151
|
-
- image: circleci/ruby:2.3.3-node
|
36
|
+
- image: circleci/ruby:2.4.9-node
|
152
37
|
environment:
|
153
38
|
- RAILS_VERSION=4.2.9
|
154
39
|
- DATABASE_URL=mysql2://root@127.0.0.1/statesman_test
|
155
|
-
- EXCLUDE_MONGOID=true
|
156
40
|
- DATABASE_DEPENDENCY_PORT=3306
|
157
41
|
- image: circleci/mysql:5.7.18
|
158
42
|
environment:
|
@@ -161,34 +45,24 @@ jobs:
|
|
161
45
|
- MYSQL_PASSWORD=
|
162
46
|
- MYSQL_DATABASE=statesman_test
|
163
47
|
steps: *steps
|
164
|
-
build-
|
48
|
+
build-ruby249-rails-429-postgres:
|
165
49
|
docker:
|
166
|
-
- image: circleci/ruby:2.
|
50
|
+
- image: circleci/ruby:2.4.9-node
|
167
51
|
environment:
|
168
52
|
- RAILS_VERSION=4.2.9
|
169
53
|
- DATABASE_URL=postgres://postgres@localhost/statesman_test
|
170
|
-
- EXCLUDE_MONGOID=true
|
171
54
|
- DATABASE_DEPENDENCY_PORT=5432
|
172
55
|
- image: circleci/postgres:9.6
|
173
56
|
environment:
|
174
57
|
- POSTGRES_USER=postgres
|
175
58
|
- POSTGRES_DB=statesman_test
|
176
59
|
steps: *steps
|
177
|
-
build-
|
178
|
-
docker:
|
179
|
-
- image: circleci/ruby:2.3.3-node
|
180
|
-
environment:
|
181
|
-
- RAILS_VERSION=5.0.5
|
182
|
-
- DATABASE_DEPENDENCY_PORT=27017
|
183
|
-
- image: circleci/mongo:3
|
184
|
-
steps: *steps
|
185
|
-
build-ruby233-rails-505-mysql:
|
60
|
+
build-ruby249-rails-505-mysql:
|
186
61
|
docker:
|
187
|
-
- image: circleci/ruby:2.
|
62
|
+
- image: circleci/ruby:2.4.9-node
|
188
63
|
environment:
|
189
64
|
- RAILS_VERSION=5.0.5
|
190
65
|
- DATABASE_URL=mysql2://root@127.0.0.1/statesman_test
|
191
|
-
- EXCLUDE_MONGOID=true
|
192
66
|
- DATABASE_DEPENDENCY_PORT=3306
|
193
67
|
- image: circleci/mysql:5.7.18
|
194
68
|
environment:
|
@@ -197,34 +71,24 @@ jobs:
|
|
197
71
|
- MYSQL_PASSWORD=
|
198
72
|
- MYSQL_DATABASE=statesman_test
|
199
73
|
steps: *steps
|
200
|
-
build-
|
74
|
+
build-ruby249-rails-505-postgres:
|
201
75
|
docker:
|
202
|
-
- image: circleci/ruby:2.
|
76
|
+
- image: circleci/ruby:2.4.9-node
|
203
77
|
environment:
|
204
78
|
- RAILS_VERSION=5.0.5
|
205
79
|
- DATABASE_URL=postgres://postgres@localhost/statesman_test
|
206
|
-
- EXCLUDE_MONGOID=true
|
207
80
|
- DATABASE_DEPENDENCY_PORT=5432
|
208
81
|
- image: circleci/postgres:9.6
|
209
82
|
environment:
|
210
83
|
- POSTGRES_USER=postgres
|
211
84
|
- POSTGRES_DB=statesman_test
|
212
85
|
steps: *steps
|
213
|
-
build-
|
214
|
-
docker:
|
215
|
-
- image: circleci/ruby:2.3.3-node
|
216
|
-
environment:
|
217
|
-
- RAILS_VERSION=5.1.3
|
218
|
-
- DATABASE_DEPENDENCY_PORT=27017
|
219
|
-
- image: circleci/mongo:3
|
220
|
-
steps: *steps
|
221
|
-
build-ruby233-rails-513-mysql:
|
86
|
+
build-ruby249-rails-513-mysql:
|
222
87
|
docker:
|
223
|
-
- image: circleci/ruby:2.
|
88
|
+
- image: circleci/ruby:2.4.9-node
|
224
89
|
environment:
|
225
90
|
- RAILS_VERSION=5.1.3
|
226
91
|
- DATABASE_URL=mysql2://root@127.0.0.1/statesman_test
|
227
|
-
- EXCLUDE_MONGOID=true
|
228
92
|
- DATABASE_DEPENDENCY_PORT=3306
|
229
93
|
- image: circleci/mysql:5.7.18
|
230
94
|
environment:
|
@@ -233,34 +97,24 @@ jobs:
|
|
233
97
|
- MYSQL_PASSWORD=
|
234
98
|
- MYSQL_DATABASE=statesman_test
|
235
99
|
steps: *steps
|
236
|
-
build-
|
100
|
+
build-ruby249-rails-513-postgres:
|
237
101
|
docker:
|
238
|
-
- image: circleci/ruby:2.
|
102
|
+
- image: circleci/ruby:2.4.9-node
|
239
103
|
environment:
|
240
104
|
- RAILS_VERSION=5.1.3
|
241
105
|
- DATABASE_URL=postgres://postgres@localhost/statesman_test
|
242
|
-
- EXCLUDE_MONGOID=true
|
243
106
|
- DATABASE_DEPENDENCY_PORT=5432
|
244
107
|
- image: circleci/postgres:9.6
|
245
108
|
environment:
|
246
109
|
- POSTGRES_USER=postgres
|
247
110
|
- POSTGRES_DB=statesman_test
|
248
111
|
steps: *steps
|
249
|
-
build-
|
250
|
-
docker:
|
251
|
-
- image: circleci/ruby:2.2.7-node
|
252
|
-
environment:
|
253
|
-
- RAILS_VERSION=4.2.9
|
254
|
-
- DATABASE_DEPENDENCY_PORT=27017
|
255
|
-
- image: circleci/mongo:3
|
256
|
-
steps: *steps
|
257
|
-
build-ruby227-rails-429-mysql:
|
112
|
+
build-ruby265-rails-600-mysql:
|
258
113
|
docker:
|
259
|
-
- image: circleci/ruby:2.
|
114
|
+
- image: circleci/ruby:2.6.5-node
|
260
115
|
environment:
|
261
|
-
- RAILS_VERSION=
|
116
|
+
- RAILS_VERSION=6.0.0
|
262
117
|
- DATABASE_URL=mysql2://root@127.0.0.1/statesman_test
|
263
|
-
- EXCLUDE_MONGOID=true
|
264
118
|
- DATABASE_DEPENDENCY_PORT=3306
|
265
119
|
- image: circleci/mysql:5.7.18
|
266
120
|
environment:
|
@@ -269,34 +123,24 @@ jobs:
|
|
269
123
|
- MYSQL_PASSWORD=
|
270
124
|
- MYSQL_DATABASE=statesman_test
|
271
125
|
steps: *steps
|
272
|
-
build-
|
126
|
+
build-ruby265-rails-600-postgres:
|
273
127
|
docker:
|
274
|
-
- image: circleci/ruby:2.
|
128
|
+
- image: circleci/ruby:2.6.5-node
|
275
129
|
environment:
|
276
|
-
- RAILS_VERSION=
|
130
|
+
- RAILS_VERSION=6.0.0
|
277
131
|
- DATABASE_URL=postgres://postgres@localhost/statesman_test
|
278
|
-
- EXCLUDE_MONGOID=true
|
279
132
|
- DATABASE_DEPENDENCY_PORT=5432
|
280
133
|
- image: circleci/postgres:9.6
|
281
134
|
environment:
|
282
135
|
- POSTGRES_USER=postgres
|
283
136
|
- POSTGRES_DB=statesman_test
|
284
137
|
steps: *steps
|
285
|
-
build-
|
138
|
+
build-ruby265-rails-master-mysql:
|
286
139
|
docker:
|
287
|
-
- image: circleci/ruby:2.
|
140
|
+
- image: circleci/ruby:2.6.5-node
|
288
141
|
environment:
|
289
|
-
- RAILS_VERSION=
|
290
|
-
- DATABASE_DEPENDENCY_PORT=27017
|
291
|
-
- image: circleci/mongo:3
|
292
|
-
steps: *steps
|
293
|
-
build-ruby227-rails-505-mysql:
|
294
|
-
docker:
|
295
|
-
- image: circleci/ruby:2.2.7-node
|
296
|
-
environment:
|
297
|
-
- RAILS_VERSION=5.0.5
|
142
|
+
- RAILS_VERSION=master
|
298
143
|
- DATABASE_URL=mysql2://root@127.0.0.1/statesman_test
|
299
|
-
- EXCLUDE_MONGOID=true
|
300
144
|
- DATABASE_DEPENDENCY_PORT=3306
|
301
145
|
- image: circleci/mysql:5.7.18
|
302
146
|
environment:
|
@@ -305,11 +149,11 @@ jobs:
|
|
305
149
|
- MYSQL_PASSWORD=
|
306
150
|
- MYSQL_DATABASE=statesman_test
|
307
151
|
steps: *steps
|
308
|
-
build-
|
152
|
+
build-ruby265-rails-master-postgres:
|
309
153
|
docker:
|
310
|
-
- image: circleci/ruby:2.
|
154
|
+
- image: circleci/ruby:2.6.5-node
|
311
155
|
environment:
|
312
|
-
- RAILS_VERSION=
|
156
|
+
- RAILS_VERSION=master
|
313
157
|
- DATABASE_URL=postgres://postgres@localhost/statesman_test
|
314
158
|
- EXCLUDE_MONGOID=true
|
315
159
|
- DATABASE_DEPENDENCY_PORT=5432
|
@@ -318,21 +162,12 @@ jobs:
|
|
318
162
|
- POSTGRES_USER=postgres
|
319
163
|
- POSTGRES_DB=statesman_test
|
320
164
|
steps: *steps
|
321
|
-
build-
|
165
|
+
build-ruby249-rails-523-mysql:
|
322
166
|
docker:
|
323
|
-
- image: circleci/ruby:2.
|
167
|
+
- image: circleci/ruby:2.4.9-node
|
324
168
|
environment:
|
325
|
-
- RAILS_VERSION=5.
|
326
|
-
- DATABASE_DEPENDENCY_PORT=27017
|
327
|
-
- image: circleci/mongo:3
|
328
|
-
steps: *steps
|
329
|
-
build-ruby227-rails-513-mysql:
|
330
|
-
docker:
|
331
|
-
- image: circleci/ruby:2.2.7-node
|
332
|
-
environment:
|
333
|
-
- RAILS_VERSION=5.1.3
|
169
|
+
- RAILS_VERSION=5.2.3
|
334
170
|
- DATABASE_URL=mysql2://root@127.0.0.1/statesman_test
|
335
|
-
- EXCLUDE_MONGOID=true
|
336
171
|
- DATABASE_DEPENDENCY_PORT=3306
|
337
172
|
- image: circleci/mysql:5.7.18
|
338
173
|
environment:
|
@@ -341,13 +176,12 @@ jobs:
|
|
341
176
|
- MYSQL_PASSWORD=
|
342
177
|
- MYSQL_DATABASE=statesman_test
|
343
178
|
steps: *steps
|
344
|
-
build-
|
179
|
+
build-ruby249-rails-523-postgres:
|
345
180
|
docker:
|
346
|
-
- image: circleci/ruby:2.
|
181
|
+
- image: circleci/ruby:2.4.9-node
|
347
182
|
environment:
|
348
|
-
- RAILS_VERSION=5.
|
183
|
+
- RAILS_VERSION=5.2.3
|
349
184
|
- DATABASE_URL=postgres://postgres@localhost/statesman_test
|
350
|
-
- EXCLUDE_MONGOID=true
|
351
185
|
- DATABASE_DEPENDENCY_PORT=5432
|
352
186
|
- image: circleci/postgres:9.6
|
353
187
|
environment:
|
@@ -355,34 +189,20 @@ jobs:
|
|
355
189
|
- POSTGRES_DB=statesman_test
|
356
190
|
steps: *steps
|
357
191
|
|
192
|
+
|
358
193
|
workflows:
|
359
194
|
version: 2
|
360
195
|
tests:
|
361
196
|
jobs:
|
362
|
-
- build-
|
363
|
-
- build-
|
364
|
-
- build-
|
365
|
-
- build-
|
366
|
-
- build-
|
367
|
-
- build-
|
368
|
-
- build-
|
369
|
-
- build-
|
370
|
-
- build-
|
371
|
-
- build-
|
372
|
-
- build-
|
373
|
-
- build-
|
374
|
-
- build-ruby233-rails-505-mongo
|
375
|
-
- build-ruby233-rails-505-mysql
|
376
|
-
- build-ruby233-rails-505-postgres
|
377
|
-
- build-ruby233-rails-513-mongo
|
378
|
-
- build-ruby233-rails-513-mysql
|
379
|
-
- build-ruby233-rails-513-postgres
|
380
|
-
- build-ruby227-rails-429-mongo
|
381
|
-
- build-ruby227-rails-429-mysql
|
382
|
-
- build-ruby227-rails-429-postgres
|
383
|
-
- build-ruby227-rails-505-mongo
|
384
|
-
- build-ruby227-rails-505-mysql
|
385
|
-
- build-ruby227-rails-505-postgres
|
386
|
-
- build-ruby227-rails-513-mongo
|
387
|
-
- build-ruby227-rails-513-mysql
|
388
|
-
- build-ruby227-rails-513-postgres
|
197
|
+
- build-ruby249-rails-429-mysql
|
198
|
+
- build-ruby249-rails-429-postgres
|
199
|
+
- build-ruby249-rails-505-mysql
|
200
|
+
- build-ruby249-rails-505-postgres
|
201
|
+
- build-ruby249-rails-513-mysql
|
202
|
+
- build-ruby249-rails-513-postgres
|
203
|
+
- build-ruby249-rails-523-mysql
|
204
|
+
- build-ruby249-rails-523-postgres
|
205
|
+
- build-ruby265-rails-600-mysql
|
206
|
+
- build-ruby265-rails-600-postgres
|
207
|
+
- build-ruby265-rails-master-mysql
|
208
|
+
- build-ruby265-rails-master-postgres
|
data/.rubocop.yml
CHANGED
data/.rubocop_todo.yml
CHANGED
@@ -1,20 +1,31 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on
|
3
|
+
# on 2019-08-17 15:19:58 +0100 using RuboCop version 0.61.1.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
8
8
|
|
9
|
-
|
9
|
+
Gemspec/RequiredRubyVersion:
|
10
|
+
Enabled: false # We want to allow Ruby 2.2 even though we don't test on it
|
11
|
+
|
12
|
+
# Offense count: 5
|
10
13
|
Metrics/AbcSize:
|
11
14
|
Max: 18
|
12
15
|
|
13
16
|
# Offense count: 4
|
14
|
-
# Configuration parameters: CountComments.
|
17
|
+
# Configuration parameters: CountComments, ExcludedMethods.
|
15
18
|
Metrics/MethodLength:
|
16
19
|
Max: 14
|
17
20
|
|
21
|
+
# Offense count: 2
|
22
|
+
# Cop supports --auto-correct.
|
23
|
+
# Configuration parameters: SkipBlocks, EnforcedStyle.
|
24
|
+
# SupportedStyles: described_class, explicit
|
25
|
+
RSpec/DescribedClass:
|
26
|
+
Exclude:
|
27
|
+
- 'spec/statesman/adapters/active_record_queries_spec.rb'
|
28
|
+
|
18
29
|
# Offense count: 7
|
19
30
|
# Configuration parameters: Max.
|
20
31
|
RSpec/ExampleLength:
|
@@ -29,6 +40,12 @@ RSpec/ExpectInHook:
|
|
29
40
|
- 'spec/statesman/adapters/active_record_spec.rb'
|
30
41
|
- 'spec/statesman/machine_spec.rb'
|
31
42
|
|
43
|
+
# Offense count: 3
|
44
|
+
RSpec/ImplicitBlockExpectation:
|
45
|
+
Exclude:
|
46
|
+
- 'spec/statesman/adapters/active_record_spec.rb'
|
47
|
+
- 'spec/statesman/adapters/shared_examples.rb'
|
48
|
+
|
32
49
|
# Offense count: 1
|
33
50
|
# Configuration parameters: AssignmentOnly.
|
34
51
|
RSpec/InstanceVariable:
|
@@ -40,6 +57,11 @@ RSpec/IteratedExpectation:
|
|
40
57
|
Exclude:
|
41
58
|
- 'spec/statesman/machine_spec.rb'
|
42
59
|
|
60
|
+
# Offense count: 1
|
61
|
+
RSpec/LeakyConstantDeclaration:
|
62
|
+
Exclude:
|
63
|
+
- 'spec/statesman/adapters/active_record_queries_spec.rb'
|
64
|
+
|
43
65
|
# Offense count: 3
|
44
66
|
RSpec/LetSetup:
|
45
67
|
Exclude:
|
@@ -66,16 +88,14 @@ RSpec/NestedGroups:
|
|
66
88
|
RSpec/ScatteredSetup:
|
67
89
|
Exclude:
|
68
90
|
- 'spec/statesman/adapters/active_record_spec.rb'
|
69
|
-
- 'spec/statesman/adapters/mongoid_spec.rb'
|
70
91
|
- 'spec/statesman/adapters/shared_examples.rb'
|
71
92
|
- 'spec/statesman/machine_spec.rb'
|
72
93
|
|
73
94
|
# Offense count: 8
|
74
|
-
# Configuration parameters: IgnoreSymbolicNames.
|
95
|
+
# Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
|
75
96
|
RSpec/VerifiedDoubles:
|
76
97
|
Exclude:
|
77
98
|
- 'spec/generators/statesman/active_record_transition_generator_spec.rb'
|
78
99
|
- 'spec/generators/statesman/migration_generator_spec.rb'
|
79
100
|
- 'spec/statesman/adapters/active_record_spec.rb'
|
80
|
-
- 'spec/statesman/adapters/mongoid_spec.rb'
|
81
101
|
- 'spec/statesman/adapters/shared_examples.rb'
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,72 @@
|
|
1
|
+
## v6.0.0, 20th December 2019
|
2
|
+
|
3
|
+
**Breaking changes**
|
4
|
+
|
5
|
+
- Drop official support for Ruby 2.2 and 2.3 following our [compatibility
|
6
|
+
policy](https://github.com/gocardless/statesman/blob/master/docs/COMPATIBILITY.md).
|
7
|
+
|
8
|
+
|
9
|
+
## v5.2.0, 17th December 2019
|
10
|
+
|
11
|
+
- Issue `most_recent_transition_join` query as a single-line string [#381](https://github.com/gocardless/statesman/pull/381)
|
12
|
+
|
13
|
+
## v5.1.0, 22th November 2019
|
14
|
+
|
15
|
+
- Correct `Statesman::Adapters::ActiveRecordQueries` error text [@Bramjetten](https://github.com/gocardless/statesman/pull/376)
|
16
|
+
- Removes duplicate `map` call [Isaac Seymour](https://github.com/gocardless/statesman/pull/362)
|
17
|
+
- Update changelog with instructions of how to use `ActiveRecordQueries` added
|
18
|
+
in v5.0.0
|
19
|
+
- Pass exception into `after_transition_failure` and `after_guard_failure` callbacks [@credric-cordenier](https://github.com/gocardless/statesman/pull/378)
|
20
|
+
|
21
|
+
## v5.0.0, 11th November 2019
|
22
|
+
|
23
|
+
- Adds new syntax and restrictions to ActiveRecordQueries [PR#358](https://github.com/gocardless/statesman/pull/358). With the introduction of this, defining `self.transition_class` or `self.initial_state` is deprecated and will be removed in the next major release.
|
24
|
+
Change
|
25
|
+
```ruby
|
26
|
+
include Statesman::Adapters::ActiveRecordQueries
|
27
|
+
def self.initial_state
|
28
|
+
:initial
|
29
|
+
end
|
30
|
+
def self.transition_class
|
31
|
+
MyTransition
|
32
|
+
end
|
33
|
+
```
|
34
|
+
to
|
35
|
+
```ruby
|
36
|
+
include Statesman::Adapters::ActiveRecordQueries[
|
37
|
+
initial_state: :inital,
|
38
|
+
transition_class: MyTransition
|
39
|
+
]
|
40
|
+
```
|
41
|
+
|
42
|
+
## v4.1.4, 11th November 2019
|
43
|
+
|
44
|
+
- Reverts the breaking changes from [PR#358](https://github.com/gocardless/statesman/pull/358) & `v4.1.3` that where included in the last minor release. If you have changed your code to work with these changes `v5.0.0` will be a copy of `v4.1.3` with a bugfix applied.
|
45
|
+
|
46
|
+
## v4.1.3, 6th November 2019
|
47
|
+
|
48
|
+
- Add accessible from / to state attributes on the `TransitionFailedError` to avoid parsing strings [@ahjmorton](https://github.com/gocardless/statesman/pull/367)
|
49
|
+
- Add `after_transition_failure` mechanism [@credric-cordenier](https://github.com/gocardless/statesman/pull/366)
|
50
|
+
|
51
|
+
## v4.1.2, 17th August 2019
|
52
|
+
|
53
|
+
- Add support for Rails 6 [@greysteil](https://github.com/gocardless/statesman/pull/360)
|
54
|
+
|
55
|
+
## v4.1.1, 6th July 2019
|
56
|
+
|
57
|
+
- Fix statesman index detection for indexes that start t-z [@hmarr](https://github.com/gocardless/statesman/pull/354)
|
58
|
+
- Correct access of metadata via `state_machine` [@glenpike](https://github.com/gocardless/statesman/pull/349)
|
59
|
+
|
60
|
+
## v4.1.0, 10 April 2019
|
61
|
+
|
62
|
+
- Add better support for mysql (and others) in `transition_conflict_error?` [@greysteil](https://github.com/greysteil) (https://github.com/gocardless/statesman/pull/342)
|
63
|
+
|
64
|
+
## v4.0.0, 22 February 2019
|
65
|
+
|
66
|
+
- Forces Statesman to use a new transactions with `requires_new: true` (https://github.com/gocardless/statesman/pull/249)
|
67
|
+
- Fixes an issue with `after_commit` transition blocks that where being
|
68
|
+
executed even if the transaction rolled back. ([patch](https://github.com/gocardless/statesman/pull/338) by [@matid](https://github.com/matid))
|
69
|
+
|
1
70
|
## v3.5.0, 2 November 2018
|
2
71
|
|
3
72
|
- Expose `most_recent_transition_join` - ActiveRecords `or` requires that both
|
data/Gemfile
CHANGED
@@ -1,12 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
source 'https://rubygems.org'
|
2
4
|
|
3
5
|
gemspec
|
4
6
|
|
5
|
-
|
7
|
+
# rubocop:disable Bundler/DuplicatedGem
|
8
|
+
if ENV['RAILS_VERSION'] == 'master'
|
9
|
+
gem "rails", git: "https://github.com/rails/rails"
|
10
|
+
elsif ENV['RAILS_VERSION']
|
11
|
+
gem "rails", "~> #{ENV['RAILS_VERSION']}"
|
12
|
+
end
|
13
|
+
# rubocop:enable Bundler/DuplicatedGem
|
6
14
|
|
7
15
|
group :development do
|
8
|
-
gem "mongoid", ">= 3.1" unless ENV["EXCLUDE_MONGOID"]
|
9
|
-
|
10
16
|
# test/unit is no longer bundled with Ruby 2.2, but required by Rails
|
11
17
|
gem "test-unit", "~> 3.0" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.2.0")
|
12
18
|
end
|