active_durable 0.5.0 → 0.7.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 (42) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +8 -0
  3. data/CHANGELOG.md +114 -3
  4. data/README.md +174 -22
  5. data/app/controllers/active_durable/executions_controller.rb +4 -2
  6. data/app/helpers/active_durable/dashboard_helper.rb +11 -3
  7. data/app/views/active_durable/executions/index.html.erb +4 -3
  8. data/app/views/active_durable/executions/show.html.erb +16 -6
  9. data/app/views/layouts/active_durable/application.html.erb +7 -5
  10. data/lib/active_durable/configuration.rb +18 -0
  11. data/lib/active_durable/engine.rb +2 -4
  12. data/lib/active_durable/errors.rb +80 -5
  13. data/lib/active_durable/execution.rb +16 -2
  14. data/lib/active_durable/flow.rb +170 -22
  15. data/lib/active_durable/flow_parallel.rb +46 -7
  16. data/lib/active_durable/lease.rb +2 -0
  17. data/lib/active_durable/notebook.rb +17 -4
  18. data/lib/active_durable/open_telemetry.rb +14 -2
  19. data/lib/active_durable/operations.rb +54 -15
  20. data/lib/active_durable/parallel.rb +15 -0
  21. data/lib/active_durable/prune_job.rb +16 -0
  22. data/lib/active_durable/pruner.rb +32 -0
  23. data/lib/active_durable/record.rb +2 -0
  24. data/lib/active_durable/registry.rb +4 -0
  25. data/lib/active_durable/retry_policy.rb +2 -0
  26. data/lib/active_durable/run_job.rb +3 -0
  27. data/lib/active_durable/runner.rb +48 -6
  28. data/lib/active_durable/serializer.rb +29 -3
  29. data/lib/active_durable/signal_record.rb +13 -0
  30. data/lib/active_durable/step.rb +20 -0
  31. data/lib/active_durable/sweep_job.rb +3 -0
  32. data/lib/active_durable/sweeper.rb +26 -6
  33. data/lib/active_durable/testing.rb +9 -1
  34. data/lib/active_durable/version.rb +2 -1
  35. data/lib/active_durable.rb +137 -13
  36. data/lib/generators/active_durable/install/install_generator.rb +2 -0
  37. data/lib/generators/active_durable/install/templates/create_active_durable_tables.rb.tt +12 -6
  38. data/lib/generators/active_durable/upgrade/templates/add_active_durable_prune_index.rb.tt +14 -0
  39. data/lib/generators/active_durable/upgrade/templates/make_active_durable_ids_case_sensitive.rb.tt +72 -0
  40. data/lib/generators/active_durable/upgrade/upgrade_generator.rb +39 -0
  41. data/lib/tasks/active_durable.rake +13 -2
  42. metadata +31 -11
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_durable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - William Romero
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2026-10-06 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activejob
@@ -17,6 +16,9 @@ dependencies:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
18
  version: '6.1'
19
+ - - "<"
20
+ - !ruby/object:Gem::Version
21
+ version: '9'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -24,6 +26,9 @@ dependencies:
24
26
  - - ">="
25
27
  - !ruby/object:Gem::Version
26
28
  version: '6.1'
29
+ - - "<"
30
+ - !ruby/object:Gem::Version
31
+ version: '9'
27
32
  - !ruby/object:Gem::Dependency
28
33
  name: activerecord
29
34
  requirement: !ruby/object:Gem::Requirement
@@ -31,6 +36,9 @@ dependencies:
31
36
  - - ">="
32
37
  - !ruby/object:Gem::Version
33
38
  version: '6.1'
39
+ - - "<"
40
+ - !ruby/object:Gem::Version
41
+ version: '9'
34
42
  type: :runtime
35
43
  prerelease: false
36
44
  version_requirements: !ruby/object:Gem::Requirement
@@ -38,6 +46,9 @@ dependencies:
38
46
  - - ">="
39
47
  - !ruby/object:Gem::Version
40
48
  version: '6.1'
49
+ - - "<"
50
+ - !ruby/object:Gem::Version
51
+ version: '9'
41
52
  - !ruby/object:Gem::Dependency
42
53
  name: activesupport
43
54
  requirement: !ruby/object:Gem::Requirement
@@ -45,6 +56,9 @@ dependencies:
45
56
  - - ">="
46
57
  - !ruby/object:Gem::Version
47
58
  version: '6.1'
59
+ - - "<"
60
+ - !ruby/object:Gem::Version
61
+ version: '9'
48
62
  type: :runtime
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
@@ -52,6 +66,9 @@ dependencies:
52
66
  - - ">="
53
67
  - !ruby/object:Gem::Version
54
68
  version: '6.1'
69
+ - - "<"
70
+ - !ruby/object:Gem::Version
71
+ version: '9'
55
72
  description: |
56
73
  ActiveDurable runs multi-step business flows (checkouts, onboarding, payouts) as durable sagas
57
74
  stored in your own database. Completed steps are checkpointed and never repeated after a crash,
@@ -63,6 +80,7 @@ executables: []
63
80
  extensions: []
64
81
  extra_rdoc_files: []
65
82
  files:
83
+ - ".yardopts"
66
84
  - CHANGELOG.md
67
85
  - LICENSE.txt
68
86
  - README.md
@@ -86,6 +104,8 @@ files:
86
104
  - lib/active_durable/open_telemetry.rb
87
105
  - lib/active_durable/operations.rb
88
106
  - lib/active_durable/parallel.rb
107
+ - lib/active_durable/prune_job.rb
108
+ - lib/active_durable/pruner.rb
89
109
  - lib/active_durable/record.rb
90
110
  - lib/active_durable/registry.rb
91
111
  - lib/active_durable/retry_policy.rb
@@ -100,18 +120,19 @@ files:
100
120
  - lib/active_durable/version.rb
101
121
  - lib/generators/active_durable/install/install_generator.rb
102
122
  - lib/generators/active_durable/install/templates/create_active_durable_tables.rb.tt
123
+ - lib/generators/active_durable/upgrade/templates/add_active_durable_prune_index.rb.tt
124
+ - lib/generators/active_durable/upgrade/templates/make_active_durable_ids_case_sensitive.rb.tt
125
+ - lib/generators/active_durable/upgrade/upgrade_generator.rb
103
126
  - lib/tasks/active_durable.rake
104
127
  - sig/active_durable.rbs
105
- homepage: https://github.com/williamromero/active_durable
128
+ homepage: https://webresstudio.github.io/active_durable/
106
129
  licenses:
107
130
  - MIT
108
131
  metadata:
109
- homepage_uri: https://github.com/williamromero/active_durable
110
- source_code_uri: https://github.com/williamromero/active_durable
111
- changelog_uri: https://github.com/williamromero/active_durable/blob/main/CHANGELOG.md
112
- bug_tracker_uri: https://github.com/williamromero/active_durable/issues
132
+ source_code_uri: https://github.com/webresstudio/active_durable
133
+ changelog_uri: https://github.com/webresstudio/active_durable/blob/main/CHANGELOG.md
134
+ bug_tracker_uri: https://github.com/webresstudio/active_durable/issues
113
135
  rubygems_mfa_required: 'true'
114
- post_install_message:
115
136
  rdoc_options: []
116
137
  require_paths:
117
138
  - lib
@@ -126,8 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
126
147
  - !ruby/object:Gem::Version
127
148
  version: '0'
128
149
  requirements: []
129
- rubygems_version: 3.5.7
130
- signing_key:
150
+ rubygems_version: 4.0.20
131
151
  specification_version: 4
132
152
  summary: 'Durable sagas for Rails: finish the work or undo it in order, even if the
133
153
  server dies.'