solid_objects 0.13.2 → 0.13.3
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/CHANGELOG.md +18 -0
- data/README.md +2 -1
- data/app/models/solid_objects/record.rb +2 -0
- data/db/migrate/20260805000000_create_solid_objects_tables.rb +1 -1
- data/db/migrate/20260806000000_add_state_revision_to_solid_objects_instances.rb +1 -1
- data/db/migrate/20260813000000_rename_message_dispatch_columns.rb +1 -1
- data/docs/development.md +1 -1
- data/docs/roadmap.md +6 -2
- data/lib/solid_objects/engine.rb +5 -3
- data/lib/solid_objects/version.rb +1 -1
- data/sig/generated/lib/solid_objects/engine.rbs +2 -0
- metadata +14 -14
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9045039767fa2e9ff5a4b5cd2bceb97ca5bc8ea0101b41aaac8fcefcf8a694ef
|
|
4
|
+
data.tar.gz: efed76c2524be2f7a9591a631c56355f95edaf39332cea846fb895363b8d8d68
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 691972f84f5304cbe3f3be42b5889697b179f1eca38e55d76f87827e0ffc5c095ec97c0d591fa58680829920c807bde08619dc725add17be7f1215439775f064
|
|
7
|
+
data.tar.gz: 68bff7f63f6557e50a6262e22b33fd7633372ec77a33e35b37f95d074498b66b98b01527776b18acbe2ae6527133c6bf7588e50f98e501a0c5636101dac6f45d
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.13.3 - 2026-08-18
|
|
4
|
+
|
|
5
|
+
- Stop loading `ActiveRecord::Base` when the gem is required. The engine now
|
|
6
|
+
loads `SolidObjects::Record` from an `ActiveSupport.on_load(:active_record)`
|
|
7
|
+
hook, so a host application keeps the normal timing of its own
|
|
8
|
+
`on_load(:active_record)` and `on_load(:active_record_encryption)` hooks. An
|
|
9
|
+
application that assigns its Active Record encryption keys in
|
|
10
|
+
`config/initializers` no longer loses them.
|
|
11
|
+
- Apply the configured `connects_to` in the record class body, so the
|
|
12
|
+
connection follows the class through a development reload.
|
|
13
|
+
- Lower the supported Rails floor from 8.0 to 7.1. The gem dependencies, the
|
|
14
|
+
bundled migrations, and the compatibility CI matrix now cover Rails 7.1, 7.2,
|
|
15
|
+
8.0, and 8.1. The migrations declare `ActiveRecord::Migration[7.1]`, which
|
|
16
|
+
builds the same schema as `[8.0]` because the compatibility layer between the
|
|
17
|
+
two only changes `remove_foreign_key`, which no Solid Objects migration calls.
|
|
18
|
+
Rails 7.0 stays out of range: its SQLite adapter requires `sqlite3 ~> 1.4`,
|
|
19
|
+
and the busy-handler control this gem needs arrived in `sqlite3` 2.x.
|
|
20
|
+
|
|
3
21
|
## 0.13.2 - 2026-08-17
|
|
4
22
|
|
|
5
23
|
- Accept a `key:` on `schedule`, naming a reminder for the item it is waiting
|
data/README.md
CHANGED
|
@@ -341,7 +341,8 @@ mount SolidObjects::Engine => "/solid_objects"
|
|
|
341
341
|
|
|
342
342
|
## Installation
|
|
343
343
|
|
|
344
|
-
Solid Objects requires Ruby 3.3 or newer and Rails
|
|
344
|
+
Solid Objects requires Ruby 3.3 or newer and Rails 7.1 or newer. CI runs the
|
|
345
|
+
suite against Rails 7.1, 7.2, 8.0, and 8.1.
|
|
345
346
|
|
|
346
347
|
Add the gem, install its initializer and migration, then migrate:
|
|
347
348
|
|
data/docs/development.md
CHANGED
data/docs/roadmap.md
CHANGED
|
@@ -66,8 +66,12 @@
|
|
|
66
66
|
- Inline RBS generation/validation, Steep, Standard Ruby, Solid Queue's exact
|
|
67
67
|
RuboCop policy, and a warning-free Brakeman scan
|
|
68
68
|
- Compatibility CI across the supported span: Ruby 3.3, 3.4, and 4.0 against
|
|
69
|
-
Rails 8.0 and 8.1, pinned through `RAILS_VERSION` so the advertised
|
|
70
|
-
verified rather than assumed
|
|
69
|
+
Rails 7.1, 7.2, 8.0, and 8.1, pinned through `RAILS_VERSION` so the advertised
|
|
70
|
+
range is verified rather than assumed. The compatibility job runs SQLite only;
|
|
71
|
+
the PostgreSQL and MySQL jobs run on the newest Rails, so adapter behavior on
|
|
72
|
+
Rails 7.1 and 7.2 is unmeasured against those servers. Rails 7.0 is out of
|
|
73
|
+
range because its SQLite adapter requires `sqlite3 ~> 1.4`, and this gem needs
|
|
74
|
+
the busy-handler control that arrived in `sqlite3` 2.x
|
|
71
75
|
- A JavaScript suite covering every browser module, run in CI with Node's test
|
|
72
76
|
runner and jsdom, plus a browser suite running the same modules against real
|
|
73
77
|
Chromium and a real Turbo build, with every GitHub Actions reference pinned to
|
data/lib/solid_objects/engine.rb
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# rbs_inline: enabled
|
|
2
2
|
|
|
3
|
-
require_relative "../../app/models/solid_objects/record"
|
|
4
|
-
|
|
5
3
|
module SolidObjects
|
|
6
4
|
class Engine < ::Rails::Engine
|
|
5
|
+
RECORD_PATH = File.expand_path("../../app/models/solid_objects/record.rb", __dir__)
|
|
6
|
+
|
|
7
7
|
isolate_namespace SolidObjects
|
|
8
8
|
|
|
9
9
|
config.generators do |generators|
|
|
@@ -16,7 +16,9 @@ module SolidObjects
|
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
initializer "solid_objects.database", after: :load_config_initializers do
|
|
19
|
-
|
|
19
|
+
ActiveSupport.on_load(:active_record) do
|
|
20
|
+
require RECORD_PATH
|
|
21
|
+
end
|
|
20
22
|
end
|
|
21
23
|
|
|
22
24
|
initializer "solid_objects.helpers" do
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: solid_objects
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.13.
|
|
4
|
+
version: 0.13.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Lucas Carlson
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-08-
|
|
11
|
+
date: 2026-08-18 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: actioncable
|
|
@@ -16,70 +16,70 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '7.1'
|
|
20
20
|
type: :runtime
|
|
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: '7.1'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: actionpack
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - ">="
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
33
|
+
version: '7.1'
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
40
|
+
version: '7.1'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: actionview
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - ">="
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
47
|
+
version: '7.1'
|
|
48
48
|
type: :runtime
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - ">="
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '
|
|
54
|
+
version: '7.1'
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: activerecord
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
58
58
|
requirements:
|
|
59
59
|
- - ">="
|
|
60
60
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '
|
|
61
|
+
version: '7.1'
|
|
62
62
|
type: :runtime
|
|
63
63
|
prerelease: false
|
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
65
|
requirements:
|
|
66
66
|
- - ">="
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '
|
|
68
|
+
version: '7.1'
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: activesupport
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
|
73
73
|
- - ">="
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '
|
|
75
|
+
version: '7.1'
|
|
76
76
|
type: :runtime
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
80
|
- - ">="
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '
|
|
82
|
+
version: '7.1'
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
84
|
name: rack
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -100,14 +100,14 @@ dependencies:
|
|
|
100
100
|
requirements:
|
|
101
101
|
- - ">="
|
|
102
102
|
- !ruby/object:Gem::Version
|
|
103
|
-
version: '
|
|
103
|
+
version: '7.1'
|
|
104
104
|
type: :runtime
|
|
105
105
|
prerelease: false
|
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
107
|
requirements:
|
|
108
108
|
- - ">="
|
|
109
109
|
- !ruby/object:Gem::Version
|
|
110
|
-
version: '
|
|
110
|
+
version: '7.1'
|
|
111
111
|
- !ruby/object:Gem::Dependency
|
|
112
112
|
name: thor
|
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|