geneva_drive 0.8.0 → 0.9.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.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/MANUAL.md +215 -4
  4. data/README.md +14 -1
  5. data/Rakefile +14 -0
  6. data/bin/matrix +1 -1
  7. data/lib/generators/geneva_drive/install/templates/create_workflows_migration.rb +1 -1
  8. data/lib/generators/geneva_drive/install/templates/initializer.rb.tt +33 -2
  9. data/lib/geneva_drive/dispatchers/active_job_dispatcher.rb +33 -0
  10. data/lib/geneva_drive/dispatchers/sidekiq_dispatcher.rb +112 -0
  11. data/lib/geneva_drive/engine.rb +13 -0
  12. data/lib/geneva_drive/executor.rb +5 -3
  13. data/lib/geneva_drive/job_options.rb +7 -3
  14. data/lib/geneva_drive/jobs/perform_step_job.rb +2 -35
  15. data/lib/geneva_drive/jobs/sidekiq_housekeeping_job.rb +32 -0
  16. data/lib/geneva_drive/jobs/sidekiq_perform_step_job.rb +35 -0
  17. data/lib/geneva_drive/jobs/step_execution_lookup.rb +42 -0
  18. data/lib/geneva_drive/migration_helpers.rb +33 -3
  19. data/lib/geneva_drive/version.rb +1 -1
  20. data/lib/geneva_drive/workflow.rb +30 -37
  21. data/lib/geneva_drive.rb +63 -0
  22. data/test/dummy/config/initializers/geneva_drive.rb +35 -3
  23. data/test/dummy/db/mysql/schema-8.1.rb +95 -0
  24. data/test/dummy/db/postgres/schema-8.1.rb +99 -0
  25. data/test/dummy/db/sqlite/schema-7.2.rb +96 -0
  26. data/test/dummy/db/sqlite/schema-8.0.rb +96 -0
  27. data/test/dummy/db/sqlite/schema-8.1.rb +96 -0
  28. data/test/dummy/db/sqlite/test.sqlite3 +0 -0
  29. data/test/dummy/db/sqlite/test.sqlite3-0 +0 -0
  30. data/test/dummy/db/sqlite/test.sqlite3-1 +0 -0
  31. data/test/dummy/db/sqlite/test.sqlite3-2 +0 -0
  32. data/test/dummy/db/sqlite/test.sqlite3-3 +0 -0
  33. data/test/dummy/db/sqlite/test.sqlite3-4 +0 -0
  34. data/test/dummy/db/sqlite/test.sqlite3-5 +0 -0
  35. data/test/dummy/db/sqlite/test.sqlite3-6 +0 -0
  36. data/test/dummy/db/sqlite/test.sqlite3-7 +0 -0
  37. data/test/dummy/db/sqlite/test.sqlite3-8 +0 -0
  38. data/test/dummy/db/sqlite/test.sqlite3-9 +0 -0
  39. data/test/dummy/db/sqlite/test.sqlite3_0 +0 -0
  40. data/test/dummy/db/sqlite/test.sqlite3_1 +0 -0
  41. data/test/dummy/db/sqlite/test.sqlite3_2 +0 -0
  42. data/test/dummy/db/sqlite/test.sqlite3_3 +0 -0
  43. data/test/dummy/db/sqlite/test.sqlite3_4 +0 -0
  44. data/test/dummy/db/sqlite/test.sqlite3_5 +0 -0
  45. data/test/dummy/db/sqlite/test.sqlite3_6 +0 -0
  46. data/test/dummy/db/sqlite/test.sqlite3_7 +0 -0
  47. data/test/dummy/db/sqlite/test.sqlite3_8 +0 -0
  48. data/test/dummy/db/sqlite/test.sqlite3_9 +0 -0
  49. data/test/dummy/db/sqlite3/schema-7.2.rb +96 -0
  50. data/test/dummy/db/sqlite3/schema-8.1.rb +96 -0
  51. data/test/dummy/db/sqlite3/test.sqlite3 +0 -0
  52. data/test/dummy/db/sqlite3/test.sqlite3_0 +0 -0
  53. data/test/dummy/db/sqlite3/test.sqlite3_1 +0 -0
  54. data/test/dummy/db/sqlite3/test.sqlite3_2 +0 -0
  55. data/test/dummy/db/sqlite3/test.sqlite3_3 +0 -0
  56. data/test/dummy/db/sqlite3/test.sqlite3_4 +0 -0
  57. data/test/dummy/db/sqlite3/test.sqlite3_5 +0 -0
  58. data/test/dummy/db/sqlite3/test.sqlite3_6 +0 -0
  59. data/test/dummy/db/sqlite3/test.sqlite3_7 +0 -0
  60. data/test/dummy/db/sqlite3/test.sqlite3_8 +0 -0
  61. data/test/dummy/db/sqlite3/test.sqlite3_9 +0 -0
  62. data/test/generators/install_generator_test.rb +56 -0
  63. data/test/geneva_drive_test.rb +10 -0
  64. data/test/migration_helpers_test.rb +62 -0
  65. data/test/sidekiq/sidekiq_dispatcher_test.rb +322 -0
  66. data/test/sidekiq/sidekiq_redis_test.rb +115 -0
  67. data/test/workflow/pause_resume_test.rb +15 -0
  68. metadata +49 -2
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: geneva_drive
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julik Tarkhanov
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2026-10-15 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: activerecord
@@ -114,6 +114,8 @@ files:
114
114
  - lib/generators/geneva_drive/install/templates/initializer.rb.tt
115
115
  - lib/geneva_drive.rb
116
116
  - lib/geneva_drive/combined_exception_policy.rb
117
+ - lib/geneva_drive/dispatchers/active_job_dispatcher.rb
118
+ - lib/geneva_drive/dispatchers/sidekiq_dispatcher.rb
117
119
  - lib/geneva_drive/engine.rb
118
120
  - lib/geneva_drive/exception_policy.rb
119
121
  - lib/geneva_drive/executor.rb
@@ -122,6 +124,9 @@ files:
122
124
  - lib/geneva_drive/job_options.rb
123
125
  - lib/geneva_drive/jobs/housekeeping_job.rb
124
126
  - lib/geneva_drive/jobs/perform_step_job.rb
127
+ - lib/geneva_drive/jobs/sidekiq_housekeeping_job.rb
128
+ - lib/geneva_drive/jobs/sidekiq_perform_step_job.rb
129
+ - lib/geneva_drive/jobs/step_execution_lookup.rb
125
130
  - lib/geneva_drive/json_column.rb
126
131
  - lib/geneva_drive/migration_helpers.rb
127
132
  - lib/geneva_drive/removed_step_definition.rb
@@ -178,6 +183,45 @@ files:
178
183
  - test/dummy/config/routes.rb
179
184
  - test/dummy/config/storage.yml
180
185
  - test/dummy/db/migrate/20241217000000_create_users.rb
186
+ - test/dummy/db/mysql/schema-8.1.rb
187
+ - test/dummy/db/postgres/schema-8.1.rb
188
+ - test/dummy/db/sqlite/schema-7.2.rb
189
+ - test/dummy/db/sqlite/schema-8.0.rb
190
+ - test/dummy/db/sqlite/schema-8.1.rb
191
+ - test/dummy/db/sqlite/test.sqlite3
192
+ - test/dummy/db/sqlite/test.sqlite3-0
193
+ - test/dummy/db/sqlite/test.sqlite3-1
194
+ - test/dummy/db/sqlite/test.sqlite3-2
195
+ - test/dummy/db/sqlite/test.sqlite3-3
196
+ - test/dummy/db/sqlite/test.sqlite3-4
197
+ - test/dummy/db/sqlite/test.sqlite3-5
198
+ - test/dummy/db/sqlite/test.sqlite3-6
199
+ - test/dummy/db/sqlite/test.sqlite3-7
200
+ - test/dummy/db/sqlite/test.sqlite3-8
201
+ - test/dummy/db/sqlite/test.sqlite3-9
202
+ - test/dummy/db/sqlite/test.sqlite3_0
203
+ - test/dummy/db/sqlite/test.sqlite3_1
204
+ - test/dummy/db/sqlite/test.sqlite3_2
205
+ - test/dummy/db/sqlite/test.sqlite3_3
206
+ - test/dummy/db/sqlite/test.sqlite3_4
207
+ - test/dummy/db/sqlite/test.sqlite3_5
208
+ - test/dummy/db/sqlite/test.sqlite3_6
209
+ - test/dummy/db/sqlite/test.sqlite3_7
210
+ - test/dummy/db/sqlite/test.sqlite3_8
211
+ - test/dummy/db/sqlite/test.sqlite3_9
212
+ - test/dummy/db/sqlite3/schema-7.2.rb
213
+ - test/dummy/db/sqlite3/schema-8.1.rb
214
+ - test/dummy/db/sqlite3/test.sqlite3
215
+ - test/dummy/db/sqlite3/test.sqlite3_0
216
+ - test/dummy/db/sqlite3/test.sqlite3_1
217
+ - test/dummy/db/sqlite3/test.sqlite3_2
218
+ - test/dummy/db/sqlite3/test.sqlite3_3
219
+ - test/dummy/db/sqlite3/test.sqlite3_4
220
+ - test/dummy/db/sqlite3/test.sqlite3_5
221
+ - test/dummy/db/sqlite3/test.sqlite3_6
222
+ - test/dummy/db/sqlite3/test.sqlite3_7
223
+ - test/dummy/db/sqlite3/test.sqlite3_8
224
+ - test/dummy/db/sqlite3/test.sqlite3_9
181
225
  - test/dummy/public/400.html
182
226
  - test/dummy/public/404.html
183
227
  - test/dummy/public/406-unsupported-browser.html
@@ -194,12 +238,15 @@ files:
194
238
  - test/dummy_install/db/migrate/20260217112954_add_chained_step_executions_to_geneva_drive_step_executions.rb
195
239
  - test/dummy_install/db/schema.rb
196
240
  - test/dummy_install/log/test.log
241
+ - test/generators/install_generator_test.rb
197
242
  - test/geneva_drive_test.rb
198
243
  - test/jobs/housekeeping_job_test.rb
199
244
  - test/jobs/housekeeping_signals_test.rb
200
245
  - test/jobs/perform_step_job_double_deferral_test.rb
201
246
  - test/jobs/perform_step_job_test.rb
202
247
  - test/migration_helpers_test.rb
248
+ - test/sidekiq/sidekiq_dispatcher_test.rb
249
+ - test/sidekiq/sidekiq_redis_test.rb
203
250
  - test/step_execution/metadata_accessor_test.rb
204
251
  - test/test_helper.rb
205
252
  - test/test_helper_test.rb