mongo_trails 10.3.1 → 14.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.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +53 -0
  3. data/.gitignore +2 -0
  4. data/.rubocop.yml +19 -0
  5. data/.ruby-version +1 -0
  6. data/Appraisals +10 -4
  7. data/Gemfile +8 -1
  8. data/README.md +27 -6
  9. data/Rakefile +17 -0
  10. data/gemfiles/rails_7.gemfile +15 -0
  11. data/gemfiles/rails_7.gemfile.lock +212 -0
  12. data/gemfiles/rails_8.gemfile +15 -0
  13. data/gemfiles/rails_8.gemfile.lock +213 -0
  14. data/gemfiles/rails_8_1.gemfile +15 -0
  15. data/gemfiles/rails_8_1.gemfile.lock +143 -0
  16. data/lib/mongo_trails/callback_propagation.rb +77 -0
  17. data/lib/mongo_trails/config.rb +7 -24
  18. data/lib/mongo_trails/events/base.rb +5 -308
  19. data/lib/mongo_trails/model_config.rb +1 -232
  20. data/lib/mongo_trails/mongo_support/config.rb +7 -1
  21. data/lib/mongo_trails/mongo_support/criteria.rb +7 -0
  22. data/lib/mongo_trails/mongo_support/version.rb +242 -19
  23. data/lib/mongo_trails/mongo_support/version_commit_wrap.rb +37 -0
  24. data/lib/mongo_trails/mongo_support/write_version_worker.rb +11 -0
  25. data/lib/mongo_trails/record_trail.rb +21 -262
  26. data/lib/mongo_trails/version.rb +5 -0
  27. data/lib/mongo_trails/version_concern.rb +4 -293
  28. data/lib/mongo_trails.rb +13 -149
  29. data/mongo_trails.gemspec +19 -20
  30. metadata +50 -85
  31. data/.travis.yml +0 -13
  32. data/Gemfile.lock +0 -62
  33. data/gemfiles/rails_5.gemfile +0 -9
  34. data/gemfiles/rails_5.gemfile.lock +0 -63
  35. data/gemfiles/rails_6.gemfile +0 -9
  36. data/gemfiles/rails_6.gemfile.lock +0 -63
  37. data/lib/mongo_trails/attribute_serializers/README.md +0 -10
  38. data/lib/mongo_trails/attribute_serializers/attribute_serializer_factory.rb +0 -27
  39. data/lib/mongo_trails/attribute_serializers/cast_attribute_serializer.rb +0 -51
  40. data/lib/mongo_trails/attribute_serializers/object_attribute.rb +0 -41
  41. data/lib/mongo_trails/attribute_serializers/object_changes_attribute.rb +0 -44
  42. data/lib/mongo_trails/cleaner.rb +0 -60
  43. data/lib/mongo_trails/compatibility.rb +0 -51
  44. data/lib/mongo_trails/events/create.rb +0 -32
  45. data/lib/mongo_trails/events/destroy.rb +0 -42
  46. data/lib/mongo_trails/events/update.rb +0 -60
  47. data/lib/mongo_trails/frameworks/cucumber.rb +0 -33
  48. data/lib/mongo_trails/frameworks/rails/controller.rb +0 -109
  49. data/lib/mongo_trails/frameworks/rails/engine.rb +0 -43
  50. data/lib/mongo_trails/frameworks/rails.rb +0 -4
  51. data/lib/mongo_trails/frameworks/rspec/helpers.rb +0 -29
  52. data/lib/mongo_trails/frameworks/rspec.rb +0 -43
  53. data/lib/mongo_trails/has_paper_trail.rb +0 -86
  54. data/lib/mongo_trails/queries/versions/where_object.rb +0 -65
  55. data/lib/mongo_trails/queries/versions/where_object_changes.rb +0 -75
  56. data/lib/mongo_trails/record_history.rb +0 -51
  57. data/lib/mongo_trails/reifier.rb +0 -130
  58. data/lib/mongo_trails/request.rb +0 -166
  59. data/lib/mongo_trails/serializers/json.rb +0 -46
  60. data/lib/mongo_trails/serializers/yaml.rb +0 -43
  61. data/lib/mongo_trails/type_serializers/postgres_array_serializer.rb +0 -48
  62. data/lib/mongo_trails/version_number.rb +0 -23
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fd695a8c38f1f2ec059a599f9e0988202be453d255a342bd311f8843ad891fd4
4
- data.tar.gz: 4e5fad1e481370cebb42c93059217f4ca360f72c8c93ae78ef36943298226b3c
3
+ metadata.gz: e867f5430a37c91464c008ae9f193a50f1ad76718852a582e7a177c4ec8d80a6
4
+ data.tar.gz: b742ffe90d29775e8df45ff29887951728cf2ea486f6d4cda156f8cbebd9bbb8
5
5
  SHA512:
6
- metadata.gz: 81ddc616e9b0c1f39cdb43ff864df07b220c0ec8fb375bd3f6dea71df560e7e015e57b2579c3e4d1dbe1ed261f00f602823c6445ed0525c867a95218f3f3dadc
7
- data.tar.gz: 38e4dc6710b075b1531d1073b6d7b019877e46e9c6430138414b84a19f8abd47229237dd766bb49411a1e1c902e3dd57a3f71b1fdc35b9a8fb16c1fa37c56fab
6
+ metadata.gz: a66114fa3ba6863a31ca40ac8abb4e4f340d8738506c62d8aae970f2360b42ed2cad67ef6f4f2aa7a8b59912419cd951119e80a56a60adee8f91f936244e51d1
7
+ data.tar.gz: bc317d9b07a64f8d6e12a7e1ab2a007aa3d450a0ea118e64f7b69a56038e2dcbaf5d5d2c1f2d6424ec50dcfd892a66d3f483be1a614fb443fdfe9e1080acf5e4
@@ -0,0 +1,53 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [master]
6
+ pull_request:
7
+ branches: [master]
8
+
9
+ jobs:
10
+ rubocop:
11
+ name: RuboCop
12
+ runs-on: ubuntu-latest
13
+ env:
14
+ BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/rails_8_1.gemfile
15
+
16
+ steps:
17
+ - uses: actions/checkout@v6
18
+
19
+ - uses: ruby/setup-ruby@v1
20
+ with:
21
+ ruby-version: '4.0'
22
+ bundler-cache: true
23
+
24
+ - name: Run RuboCop
25
+ run: bundle exec rubocop
26
+
27
+ test:
28
+ runs-on: ubuntu-latest
29
+
30
+ services:
31
+ mongodb:
32
+ image: mongo:4.4
33
+ ports:
34
+ - 27017:27017
35
+
36
+ strategy:
37
+ fail-fast: false
38
+ matrix:
39
+ ruby: ['4.0', '3.2']
40
+ gemfile: [gemfiles/rails_8_1.gemfile, gemfiles/rails_8.gemfile, gemfiles/rails_7.gemfile]
41
+
42
+ env:
43
+ BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.gemfile }}
44
+
45
+ steps:
46
+ - uses: actions/checkout@v6
47
+
48
+ - uses: ruby/setup-ruby@v1
49
+ with:
50
+ ruby-version: ${{ matrix.ruby }}
51
+ bundler-cache: true
52
+
53
+ - run: bundle exec rake test
data/.gitignore CHANGED
@@ -1 +1,3 @@
1
1
  *.gem
2
+ Gemfile.lock
3
+ .idea
data/.rubocop.yml ADDED
@@ -0,0 +1,19 @@
1
+ AllCops:
2
+ NewCops: disable
3
+ SuggestExtensions: false
4
+
5
+ Style/Documentation:
6
+ Enabled: false
7
+
8
+ Metrics/AbcSize:
9
+ Exclude:
10
+ - 'test/**/*'
11
+
12
+ Metrics/ClassLength:
13
+ Exclude:
14
+ - 'lib/mongo_trails/mongo_support/version.rb'
15
+ - 'test/**/*'
16
+
17
+ Metrics/MethodLength:
18
+ Exclude:
19
+ - 'test/**/*'
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 4.0.6
data/Appraisals CHANGED
@@ -1,7 +1,13 @@
1
- appraise 'rails-5' do
2
- gem 'activerecord', '~> 5.0'
1
+ # frozen_string_literal: true
2
+
3
+ appraise 'rails-7' do
4
+ gem 'activerecord', '~> 7.1'
5
+ end
6
+
7
+ appraise 'rails-8' do
8
+ gem 'activerecord', '~> 8.0'
3
9
  end
4
10
 
5
- appraise 'rails-6' do
6
- gem 'activerecord', '~> 6.0'
11
+ appraise 'rails-8-1' do
12
+ gem 'activerecord', '~> 8.1'
7
13
  end
data/Gemfile CHANGED
@@ -1,7 +1,14 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in ar_shard.gemspec
4
6
  gemspec
5
7
 
6
- gem 'rake', '~> 12.0'
8
+ gem 'activerecord', '~> 8.1'
9
+ gem 'after_commit_everywhere'
10
+ gem 'appraisal', '~> 2.3'
7
11
  gem 'minitest', '~> 5.0'
12
+ gem 'rake', '~> 13.0'
13
+ gem 'rubocop', require: false
14
+ gem 'sqlite3', '~> 2.9'
data/README.md CHANGED
@@ -1,19 +1,23 @@
1
- [![Build Status](https://travis-ci.com/noma4i/mongo_trails.svg?branch=master)](https://travis-ci.com/noma4i/mongo_trails)
1
+ [![CI](https://github.com/noma4i/mongo_trails/actions/workflows/test.yml/badge.svg)](https://github.com/noma4i/mongo_trails/actions/workflows/test.yml)
2
2
 
3
3
  # PaperTrail to MongoDB storage
4
4
 
5
- Based on paper-trail gem `v10.3.1`. All future versions will follow version of the parent Paper Trail gem
5
+ ## Addon for PaperTrail
6
6
 
7
7
  Track changes to your models, for auditing or versioning. See how a model looked
8
8
  at any stage in its lifecycle, revert it to any version, or restore it after it
9
9
  has been destroyed.
10
10
 
11
+ ## Limitations
12
+
13
+ - `PaperTrail-AssociationTracking` are not supported in full.
14
+
11
15
  ## How to Use
12
16
 
13
17
  Add to Gemfile
14
18
 
15
19
  ```ruby
16
- gem 'mongo-trail', git: 'https://github.com/noma4i/mongo_trails'
20
+ gem 'mongo_trails', git: 'https://github.com/noma4i/mongo_trails'
17
21
  ```
18
22
 
19
23
  Create initializer like:
@@ -29,8 +33,25 @@ require 'mongo_trails/mongo_support/config'
29
33
 
30
34
  Done!
31
35
 
32
- ## Using Rspec
36
+ ## Config Options
37
+
38
+ `PaperTrail.config.mongo_config = { hosts: ['localhost:27017'], database: 'my_test_db' }` - Options for MongoDB connection
39
+
40
+ `PaperTrail.config.mongo_prefix = 'my_versions' # or Lambda` - Versions prefix for MongoDB collection
33
41
 
34
- `require 'mongo_trails/frameworks/rspec'`
42
+ `PaperTrail.config.enable_sidekiq = false` - Enable Sidekiq to proccess versions
43
+ `PaperTrail.config.sidekiq_worker = PaperTrail::WriteVersionWorker` - Worker class
44
+ `PaperTrail.config.sidekiq_options = { queue: :default }` - Options for Sidekiq
45
+
46
+ ## Releasing
47
+
48
+ Update `MongoTrails::VERSION` in `lib/mongo_trails/version.rb` using semantic versioning, commit the change, and run:
49
+
50
+ ```bash
51
+ bundle exec rake test
52
+ bundle exec rubocop
53
+ bundle exec rake release:validate
54
+ bundle exec rake release
55
+ ```
35
56
 
36
- API is the same as `paper_trail`
57
+ The Bundler release task builds the gem, creates and pushes the `vVERSION` Git tag, and publishes to RubyGems.org. Publishing requires RubyGems credentials with MFA; the gemspec rejects other push hosts.
data/Rakefile CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'bundler/gem_tasks'
4
4
  require 'rake/testtask'
5
+ require_relative 'lib/mongo_trails/version'
5
6
 
6
7
  Rake::TestTask.new(:test) do |t|
7
8
  t.libs << 'test'
@@ -11,3 +12,19 @@ end
11
12
 
12
13
  task default: :test
13
14
 
15
+ namespace :release do
16
+ desc 'Validate the gem version and release metadata'
17
+ task :validate do
18
+ version = MongoTrails::VERSION
19
+ specification = Gem::Specification.load(File.expand_path('mongo_trails.gemspec', __dir__))
20
+ abort 'Unable to load mongo_trails.gemspec' unless specification
21
+ unless specification.version.to_s == version
22
+ abort "Gemspec version #{specification.version} does not match #{version}"
23
+ end
24
+ abort 'Gem releases must be restricted to RubyGems.org' unless specification.metadata['allowed_push_host'] == 'https://rubygems.org'
25
+ end
26
+ end
27
+
28
+ # Bundler::GemHelper defines `release`; make validation a mandatory prerequisite before it builds,
29
+ # tags, pushes the tag, and publishes the gem.
30
+ Rake::Task[:release].enhance(['release:validate'])
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file was generated by Appraisal
4
+
5
+ source 'https://rubygems.org'
6
+
7
+ gem 'activerecord', '~> 7.1'
8
+ gem 'after_commit_everywhere'
9
+ gem 'appraisal', '~> 2.3'
10
+ gem 'minitest', '~> 5.0'
11
+ gem 'rake', '~> 13.0'
12
+ gem 'rubocop', require: false
13
+ gem 'sqlite3', '~> 2.9'
14
+
15
+ gemspec path: '../'
@@ -0,0 +1,212 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ mongo_trails (14.0.0)
5
+ mongoid (>= 7, < 10)
6
+ ostruct
7
+ paper_trail (~> 16)
8
+ sidekiq (>= 6.5, < 9)
9
+
10
+ GEM
11
+ remote: https://rubygems.org/
12
+ specs:
13
+ activemodel (7.2.3.2)
14
+ activesupport (= 7.2.3.2)
15
+ activerecord (7.2.3.2)
16
+ activemodel (= 7.2.3.2)
17
+ activesupport (= 7.2.3.2)
18
+ timeout (>= 0.4.0)
19
+ activesupport (7.2.3.2)
20
+ base64
21
+ benchmark (>= 0.3)
22
+ bigdecimal
23
+ concurrent-ruby (~> 1.0, >= 1.3.1)
24
+ connection_pool (>= 2.2.5)
25
+ drb
26
+ i18n (>= 1.6, < 2)
27
+ logger (>= 1.4.2)
28
+ minitest (>= 5.1, < 6)
29
+ securerandom (>= 0.3)
30
+ tzinfo (~> 2.0, >= 2.0.5)
31
+ addressable (2.8.9)
32
+ public_suffix (>= 2.0.2, < 8.0)
33
+ after_commit_everywhere (1.6.0)
34
+ activerecord (>= 4.2)
35
+ activesupport
36
+ appraisal (2.5.0)
37
+ bundler
38
+ rake
39
+ thor (>= 0.14.0)
40
+ ast (2.4.3)
41
+ base64 (0.3.0)
42
+ benchmark (0.5.0)
43
+ bigdecimal (4.1.2)
44
+ bson (5.2.0)
45
+ concurrent-ruby (1.3.8)
46
+ connection_pool (3.0.2)
47
+ drb (2.2.3)
48
+ i18n (1.15.2)
49
+ concurrent-ruby (~> 1.0)
50
+ json (2.21.2)
51
+ json-schema (6.2.0)
52
+ addressable (~> 2.8)
53
+ bigdecimal (>= 3.1, < 5)
54
+ language_server-protocol (3.17.0.5)
55
+ lint_roller (1.1.0)
56
+ logger (1.7.0)
57
+ mcp (0.8.0)
58
+ json-schema (>= 4.1)
59
+ minitest (5.27.0)
60
+ mongo (2.25.0)
61
+ base64
62
+ bson (>= 4.14.1, < 6.0.0)
63
+ mongoid (9.1.0)
64
+ activemodel (>= 5.1, < 8.2, != 7.0.0)
65
+ concurrent-ruby (>= 1.0.5, < 2.0)
66
+ mongo (>= 2.18.0, < 3.0.0)
67
+ ostruct
68
+ ostruct (0.6.3)
69
+ paper_trail (16.0.0)
70
+ activerecord (>= 6.1)
71
+ request_store (~> 1.4)
72
+ parallel (1.27.0)
73
+ parser (3.3.10.2)
74
+ ast (~> 2.4.1)
75
+ racc
76
+ prism (1.9.0)
77
+ public_suffix (7.0.5)
78
+ racc (1.8.1)
79
+ rack (3.2.7)
80
+ rainbow (3.1.1)
81
+ rake (13.3.1)
82
+ redis-client (0.30.1)
83
+ connection_pool
84
+ regexp_parser (2.11.3)
85
+ request_store (1.7.0)
86
+ rack (>= 1.4)
87
+ rubocop (1.85.1)
88
+ json (~> 2.3)
89
+ language_server-protocol (~> 3.17.0.2)
90
+ lint_roller (~> 1.1.0)
91
+ mcp (~> 0.6)
92
+ parallel (~> 1.10)
93
+ parser (>= 3.3.0.2)
94
+ rainbow (>= 2.2.2, < 4.0)
95
+ regexp_parser (>= 2.9.3, < 3.0)
96
+ rubocop-ast (>= 1.49.0, < 2.0)
97
+ ruby-progressbar (~> 1.7)
98
+ unicode-display_width (>= 2.4.0, < 4.0)
99
+ rubocop-ast (1.49.1)
100
+ parser (>= 3.3.7.2)
101
+ prism (~> 1.7)
102
+ ruby-progressbar (1.13.0)
103
+ securerandom (0.4.1)
104
+ sidekiq (8.1.7)
105
+ connection_pool (>= 3.0.0)
106
+ json (>= 2.16.0)
107
+ logger (>= 1.7.0)
108
+ rack (>= 3.2.0)
109
+ redis-client (>= 0.29.0)
110
+ sqlite3 (2.9.2-aarch64-linux-gnu)
111
+ sqlite3 (2.9.2-aarch64-linux-musl)
112
+ sqlite3 (2.9.2-arm-linux-gnu)
113
+ sqlite3 (2.9.2-arm-linux-musl)
114
+ sqlite3 (2.9.2-arm64-darwin)
115
+ sqlite3 (2.9.2-x86-linux-gnu)
116
+ sqlite3 (2.9.2-x86-linux-musl)
117
+ sqlite3 (2.9.2-x86_64-darwin)
118
+ sqlite3 (2.9.2-x86_64-linux-gnu)
119
+ sqlite3 (2.9.2-x86_64-linux-musl)
120
+ thor (1.5.0)
121
+ timeout (0.6.1)
122
+ tzinfo (2.0.6)
123
+ concurrent-ruby (~> 1.0)
124
+ unicode-display_width (3.2.0)
125
+ unicode-emoji (~> 4.1)
126
+ unicode-emoji (4.2.0)
127
+
128
+ PLATFORMS
129
+ aarch64-linux-gnu
130
+ aarch64-linux-musl
131
+ arm-linux-gnu
132
+ arm-linux-musl
133
+ arm64-darwin
134
+ x86-linux-gnu
135
+ x86-linux-musl
136
+ x86_64-darwin
137
+ x86_64-linux-gnu
138
+ x86_64-linux-musl
139
+
140
+ DEPENDENCIES
141
+ activerecord (~> 7.1)
142
+ after_commit_everywhere
143
+ appraisal (~> 2.3)
144
+ minitest (~> 5.0)
145
+ mongo_trails!
146
+ rake (~> 13.0)
147
+ rubocop
148
+ sqlite3 (~> 2.9)
149
+
150
+ CHECKSUMS
151
+ activemodel (7.2.3.2) sha256=3777c67cd8dd1560f30387523013dacb370a0a1cf532037410887819e4416927
152
+ activerecord (7.2.3.2) sha256=e62d24ba7e5f820d24ed122eb9225491b0aaa8398778783b400067c3467285c7
153
+ activesupport (7.2.3.2) sha256=ddc90d11dd88086d78ace03407fe3c2a3f5c8853c3c3046313db5ed823ef3312
154
+ addressable (2.8.9) sha256=cc154fcbe689711808a43601dee7b980238ce54368d23e127421753e46895485
155
+ after_commit_everywhere (1.6.0) sha256=c8b3409a1172e43070d2e57f4b9d7b89dce5a7f057576b748cb9fe0a0dd4d917
156
+ appraisal (2.5.0) sha256=36989221be127913b0dba8d114da2001e6b2dceea7bd4951200eaba764eed3ce
157
+ ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
158
+ base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
159
+ benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c
160
+ bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
161
+ bson (5.2.0) sha256=c468c1e8a3cfa1e80531cc519a890f85586986721d8e305f83465cc36bb82608
162
+ bundler (4.0.19) sha256=b48056e4c77fb3853cc47775b5447ede44aaa4f53c32f168014ab4fe86587d47
163
+ concurrent-ruby (1.3.8) sha256=b2f1be836e968ccc78ccfce277ea79c72a88633f22306782c16ff23fb415d1e1
164
+ connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
165
+ drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
166
+ i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
167
+ json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
168
+ json-schema (6.2.0) sha256=e8bff46ed845a22c1ab2bd0d7eccf831c01fe23bb3920caa4c74db4306813666
169
+ language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc
170
+ lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
171
+ logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
172
+ mcp (0.8.0) sha256=ae8bd146bb8e168852866fd26f805f52744f6326afb3211e073f78a95e0c34fb
173
+ minitest (5.27.0) sha256=2d3b17f8a36fe7801c1adcffdbc38233b938eb0b4966e97a6739055a45fa77d5
174
+ mongo (2.25.0) sha256=b4663884d23523d24f50c579846956444410f939093e8c2a95fa4b76bb929053
175
+ mongo_trails (14.0.0)
176
+ mongoid (9.1.0) sha256=ef7b50f4c84e636850c3431bc3c92f98481f4e1d147ff06a1c21242d0b242a9e
177
+ ostruct (0.6.3) sha256=95a2ed4a4bd1d190784e666b47b2d3f078e4a9efda2fccf18f84ddc6538ed912
178
+ paper_trail (16.0.0) sha256=e9b9f0fb1b8b590c8231cfa931b282ba92f90e066e393930a5e1c61ae4c5019d
179
+ parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130
180
+ parser (3.3.10.2) sha256=6f60c84aa4bdcedb6d1a2434b738fe8a8136807b6adc8f7f53b97da9bc4e9357
181
+ prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
182
+ public_suffix (7.0.5) sha256=1a8bb08f1bbea19228d3bed6e5ed908d1cb4f7c2726d18bd9cadf60bc676f623
183
+ racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
184
+ rack (3.2.7) sha256=93e13e1c24f93556671d85d2d79fa228c3485815c50d7e2f265b5330c6528fb7
185
+ rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
186
+ rake (13.3.1) sha256=8c9e89d09f66a26a01264e7e3480ec0607f0c497a861ef16063604b1b08eb19c
187
+ redis-client (0.30.1) sha256=5151bc5c7bbfe48623732cdae3b900d8a22dc691cc7cdfacfb351ac55116522d
188
+ regexp_parser (2.11.3) sha256=ca13f381a173b7a93450e53459075c9b76a10433caadcb2f1180f2c741fc55a4
189
+ request_store (1.7.0) sha256=e1b75d5346a315f452242a68c937ef8e48b215b9453a77a6c0acdca2934c88cb
190
+ rubocop (1.85.1) sha256=3dbcf9e961baa4c376eeeb2a03913dca5e3987033b04d38fa538aa1e7406cc77
191
+ rubocop-ast (1.49.1) sha256=4412f3ee70f6fe4546cc489548e0f6fcf76cafcfa80fa03af67098ffed755035
192
+ ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
193
+ securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
194
+ sidekiq (8.1.7) sha256=91ad48c7e6c32e1846bf1d5b74c27948758049b93fed0cb539f8d586c7de3415
195
+ sqlite3 (2.9.2-aarch64-linux-gnu) sha256=eeb86db55645b85327ba75129e3614658d974bf4da8fdc87018a0d42c59f6e42
196
+ sqlite3 (2.9.2-aarch64-linux-musl) sha256=4feff91fb8c2b13688da34b5627c9d1ed9cedb3ee87a7114ec82209147f07a6d
197
+ sqlite3 (2.9.2-arm-linux-gnu) sha256=1ee2eb06b5301aaf5ce343a6e88d99ac932d95202d7b350f0e7b6d8d588580d7
198
+ sqlite3 (2.9.2-arm-linux-musl) sha256=8ca0de6aceede968de0394e22e95d549834c4d8e318f69a92a52f049878a0057
199
+ sqlite3 (2.9.2-arm64-darwin) sha256=d15bd9609a05f9d54930babe039585efc8cadd57517c15b64ec7dfa75158a5e9
200
+ sqlite3 (2.9.2-x86-linux-gnu) sha256=066bc904522f8a7072236a81237c03a4a1dfe070a25107e392de03d1e4ad0e6d
201
+ sqlite3 (2.9.2-x86-linux-musl) sha256=6503c76278f5e8629b12b6518ff43a9a4f6d9381de73f0b086c9fa1226db5ede
202
+ sqlite3 (2.9.2-x86_64-darwin) sha256=ed691b5021674d72582d03c5a38e89634b961902735fb6225273892805421d13
203
+ sqlite3 (2.9.2-x86_64-linux-gnu) sha256=dce83ffcb7e72f9f7aeb6e5404f15d277a45332fe18ccce8a8b3ed51e8d23aee
204
+ sqlite3 (2.9.2-x86_64-linux-musl) sha256=e8dd906a613f13b60f6d47ae9dda376384d9de1ab3f7e3f2fdf2fd18a871a2d7
205
+ thor (1.5.0) sha256=e3a9e55fe857e44859ce104a84675ab6e8cd59c650a49106a05f55f136425e73
206
+ timeout (0.6.1) sha256=78f57368a7e7bbadec56971f78a3f5ecbcfb59b7fcbb0a3ed6ddc08a5094accb
207
+ tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
208
+ unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42
209
+ unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
210
+
211
+ BUNDLED WITH
212
+ 4.0.19
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ # This file was generated by Appraisal
4
+
5
+ source 'https://rubygems.org'
6
+
7
+ gem 'activerecord', '~> 8.0'
8
+ gem 'after_commit_everywhere'
9
+ gem 'appraisal', '~> 2.3'
10
+ gem 'minitest', '~> 5.0'
11
+ gem 'rake', '~> 13.0'
12
+ gem 'rubocop', require: false
13
+ gem 'sqlite3', '~> 2.9'
14
+
15
+ gemspec path: '../'
@@ -0,0 +1,213 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ mongo_trails (14.0.0)
5
+ mongoid (>= 7, < 10)
6
+ ostruct
7
+ paper_trail (~> 16)
8
+ sidekiq (>= 6.5, < 9)
9
+
10
+ GEM
11
+ remote: https://rubygems.org/
12
+ specs:
13
+ activemodel (8.1.3.1)
14
+ activesupport (= 8.1.3.1)
15
+ activerecord (8.1.3.1)
16
+ activemodel (= 8.1.3.1)
17
+ activesupport (= 8.1.3.1)
18
+ timeout (>= 0.4.0)
19
+ activesupport (8.1.3.1)
20
+ base64
21
+ bigdecimal
22
+ concurrent-ruby (~> 1.0, >= 1.3.1)
23
+ connection_pool (>= 2.2.5)
24
+ drb
25
+ i18n (>= 1.6, < 2)
26
+ json
27
+ logger (>= 1.4.2)
28
+ minitest (>= 5.1)
29
+ securerandom (>= 0.3)
30
+ tzinfo (~> 2.0, >= 2.0.5)
31
+ uri (>= 0.13.1)
32
+ addressable (2.8.9)
33
+ public_suffix (>= 2.0.2, < 8.0)
34
+ after_commit_everywhere (1.6.0)
35
+ activerecord (>= 4.2)
36
+ activesupport
37
+ appraisal (2.5.0)
38
+ bundler
39
+ rake
40
+ thor (>= 0.14.0)
41
+ ast (2.4.3)
42
+ base64 (0.3.0)
43
+ bigdecimal (4.1.2)
44
+ bson (5.2.0)
45
+ concurrent-ruby (1.3.8)
46
+ connection_pool (3.0.2)
47
+ drb (2.2.3)
48
+ i18n (1.15.2)
49
+ concurrent-ruby (~> 1.0)
50
+ json (2.21.2)
51
+ json-schema (6.2.0)
52
+ addressable (~> 2.8)
53
+ bigdecimal (>= 3.1, < 5)
54
+ language_server-protocol (3.17.0.5)
55
+ lint_roller (1.1.0)
56
+ logger (1.7.0)
57
+ mcp (0.8.0)
58
+ json-schema (>= 4.1)
59
+ minitest (5.27.0)
60
+ mongo (2.25.0)
61
+ base64
62
+ bson (>= 4.14.1, < 6.0.0)
63
+ mongoid (9.1.0)
64
+ activemodel (>= 5.1, < 8.2, != 7.0.0)
65
+ concurrent-ruby (>= 1.0.5, < 2.0)
66
+ mongo (>= 2.18.0, < 3.0.0)
67
+ ostruct
68
+ ostruct (0.6.3)
69
+ paper_trail (16.0.0)
70
+ activerecord (>= 6.1)
71
+ request_store (~> 1.4)
72
+ parallel (1.27.0)
73
+ parser (3.3.10.2)
74
+ ast (~> 2.4.1)
75
+ racc
76
+ prism (1.9.0)
77
+ public_suffix (7.0.5)
78
+ racc (1.8.1)
79
+ rack (3.2.7)
80
+ rainbow (3.1.1)
81
+ rake (13.3.1)
82
+ redis-client (0.30.1)
83
+ connection_pool
84
+ regexp_parser (2.11.3)
85
+ request_store (1.7.0)
86
+ rack (>= 1.4)
87
+ rubocop (1.85.1)
88
+ json (~> 2.3)
89
+ language_server-protocol (~> 3.17.0.2)
90
+ lint_roller (~> 1.1.0)
91
+ mcp (~> 0.6)
92
+ parallel (~> 1.10)
93
+ parser (>= 3.3.0.2)
94
+ rainbow (>= 2.2.2, < 4.0)
95
+ regexp_parser (>= 2.9.3, < 3.0)
96
+ rubocop-ast (>= 1.49.0, < 2.0)
97
+ ruby-progressbar (~> 1.7)
98
+ unicode-display_width (>= 2.4.0, < 4.0)
99
+ rubocop-ast (1.49.1)
100
+ parser (>= 3.3.7.2)
101
+ prism (~> 1.7)
102
+ ruby-progressbar (1.13.0)
103
+ securerandom (0.4.1)
104
+ sidekiq (8.1.7)
105
+ connection_pool (>= 3.0.0)
106
+ json (>= 2.16.0)
107
+ logger (>= 1.7.0)
108
+ rack (>= 3.2.0)
109
+ redis-client (>= 0.29.0)
110
+ sqlite3 (2.9.2-aarch64-linux-gnu)
111
+ sqlite3 (2.9.2-aarch64-linux-musl)
112
+ sqlite3 (2.9.2-arm-linux-gnu)
113
+ sqlite3 (2.9.2-arm-linux-musl)
114
+ sqlite3 (2.9.2-arm64-darwin)
115
+ sqlite3 (2.9.2-x86-linux-gnu)
116
+ sqlite3 (2.9.2-x86-linux-musl)
117
+ sqlite3 (2.9.2-x86_64-darwin)
118
+ sqlite3 (2.9.2-x86_64-linux-gnu)
119
+ sqlite3 (2.9.2-x86_64-linux-musl)
120
+ thor (1.5.0)
121
+ timeout (0.6.1)
122
+ tzinfo (2.0.6)
123
+ concurrent-ruby (~> 1.0)
124
+ unicode-display_width (3.2.0)
125
+ unicode-emoji (~> 4.1)
126
+ unicode-emoji (4.2.0)
127
+ uri (1.1.1)
128
+
129
+ PLATFORMS
130
+ aarch64-linux-gnu
131
+ aarch64-linux-musl
132
+ arm-linux-gnu
133
+ arm-linux-musl
134
+ arm64-darwin
135
+ x86-linux-gnu
136
+ x86-linux-musl
137
+ x86_64-darwin
138
+ x86_64-linux-gnu
139
+ x86_64-linux-musl
140
+
141
+ DEPENDENCIES
142
+ activerecord (~> 8.0)
143
+ after_commit_everywhere
144
+ appraisal (~> 2.3)
145
+ minitest (~> 5.0)
146
+ mongo_trails!
147
+ rake (~> 13.0)
148
+ rubocop
149
+ sqlite3 (~> 2.9)
150
+
151
+ CHECKSUMS
152
+ activemodel (8.1.3.1) sha256=99cc02ce2faec371d14440949d85787ebd23a907c9baef0a9d4bcd4d21888f88
153
+ activerecord (8.1.3.1) sha256=0a2fb6c28f4938f6b013a3a549bec0a7e37d535f3dc8990e804bcc3258c0403b
154
+ activesupport (8.1.3.1) sha256=85458765f25ea48b9019c46b6bb3fa5683197bf4280d9f06710a6e8d7a831376
155
+ addressable (2.8.9) sha256=cc154fcbe689711808a43601dee7b980238ce54368d23e127421753e46895485
156
+ after_commit_everywhere (1.6.0) sha256=c8b3409a1172e43070d2e57f4b9d7b89dce5a7f057576b748cb9fe0a0dd4d917
157
+ appraisal (2.5.0) sha256=36989221be127913b0dba8d114da2001e6b2dceea7bd4951200eaba764eed3ce
158
+ ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
159
+ base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
160
+ bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
161
+ bson (5.2.0) sha256=c468c1e8a3cfa1e80531cc519a890f85586986721d8e305f83465cc36bb82608
162
+ bundler (4.0.19) sha256=b48056e4c77fb3853cc47775b5447ede44aaa4f53c32f168014ab4fe86587d47
163
+ concurrent-ruby (1.3.8) sha256=b2f1be836e968ccc78ccfce277ea79c72a88633f22306782c16ff23fb415d1e1
164
+ connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
165
+ drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
166
+ i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
167
+ json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
168
+ json-schema (6.2.0) sha256=e8bff46ed845a22c1ab2bd0d7eccf831c01fe23bb3920caa4c74db4306813666
169
+ language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc
170
+ lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
171
+ logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
172
+ mcp (0.8.0) sha256=ae8bd146bb8e168852866fd26f805f52744f6326afb3211e073f78a95e0c34fb
173
+ minitest (5.27.0) sha256=2d3b17f8a36fe7801c1adcffdbc38233b938eb0b4966e97a6739055a45fa77d5
174
+ mongo (2.25.0) sha256=b4663884d23523d24f50c579846956444410f939093e8c2a95fa4b76bb929053
175
+ mongo_trails (14.0.0)
176
+ mongoid (9.1.0) sha256=ef7b50f4c84e636850c3431bc3c92f98481f4e1d147ff06a1c21242d0b242a9e
177
+ ostruct (0.6.3) sha256=95a2ed4a4bd1d190784e666b47b2d3f078e4a9efda2fccf18f84ddc6538ed912
178
+ paper_trail (16.0.0) sha256=e9b9f0fb1b8b590c8231cfa931b282ba92f90e066e393930a5e1c61ae4c5019d
179
+ parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130
180
+ parser (3.3.10.2) sha256=6f60c84aa4bdcedb6d1a2434b738fe8a8136807b6adc8f7f53b97da9bc4e9357
181
+ prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
182
+ public_suffix (7.0.5) sha256=1a8bb08f1bbea19228d3bed6e5ed908d1cb4f7c2726d18bd9cadf60bc676f623
183
+ racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
184
+ rack (3.2.7) sha256=93e13e1c24f93556671d85d2d79fa228c3485815c50d7e2f265b5330c6528fb7
185
+ rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
186
+ rake (13.3.1) sha256=8c9e89d09f66a26a01264e7e3480ec0607f0c497a861ef16063604b1b08eb19c
187
+ redis-client (0.30.1) sha256=5151bc5c7bbfe48623732cdae3b900d8a22dc691cc7cdfacfb351ac55116522d
188
+ regexp_parser (2.11.3) sha256=ca13f381a173b7a93450e53459075c9b76a10433caadcb2f1180f2c741fc55a4
189
+ request_store (1.7.0) sha256=e1b75d5346a315f452242a68c937ef8e48b215b9453a77a6c0acdca2934c88cb
190
+ rubocop (1.85.1) sha256=3dbcf9e961baa4c376eeeb2a03913dca5e3987033b04d38fa538aa1e7406cc77
191
+ rubocop-ast (1.49.1) sha256=4412f3ee70f6fe4546cc489548e0f6fcf76cafcfa80fa03af67098ffed755035
192
+ ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
193
+ securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
194
+ sidekiq (8.1.7) sha256=91ad48c7e6c32e1846bf1d5b74c27948758049b93fed0cb539f8d586c7de3415
195
+ sqlite3 (2.9.2-aarch64-linux-gnu) sha256=eeb86db55645b85327ba75129e3614658d974bf4da8fdc87018a0d42c59f6e42
196
+ sqlite3 (2.9.2-aarch64-linux-musl) sha256=4feff91fb8c2b13688da34b5627c9d1ed9cedb3ee87a7114ec82209147f07a6d
197
+ sqlite3 (2.9.2-arm-linux-gnu) sha256=1ee2eb06b5301aaf5ce343a6e88d99ac932d95202d7b350f0e7b6d8d588580d7
198
+ sqlite3 (2.9.2-arm-linux-musl) sha256=8ca0de6aceede968de0394e22e95d549834c4d8e318f69a92a52f049878a0057
199
+ sqlite3 (2.9.2-arm64-darwin) sha256=d15bd9609a05f9d54930babe039585efc8cadd57517c15b64ec7dfa75158a5e9
200
+ sqlite3 (2.9.2-x86-linux-gnu) sha256=066bc904522f8a7072236a81237c03a4a1dfe070a25107e392de03d1e4ad0e6d
201
+ sqlite3 (2.9.2-x86-linux-musl) sha256=6503c76278f5e8629b12b6518ff43a9a4f6d9381de73f0b086c9fa1226db5ede
202
+ sqlite3 (2.9.2-x86_64-darwin) sha256=ed691b5021674d72582d03c5a38e89634b961902735fb6225273892805421d13
203
+ sqlite3 (2.9.2-x86_64-linux-gnu) sha256=dce83ffcb7e72f9f7aeb6e5404f15d277a45332fe18ccce8a8b3ed51e8d23aee
204
+ sqlite3 (2.9.2-x86_64-linux-musl) sha256=e8dd906a613f13b60f6d47ae9dda376384d9de1ab3f7e3f2fdf2fd18a871a2d7
205
+ thor (1.5.0) sha256=e3a9e55fe857e44859ce104a84675ab6e8cd59c650a49106a05f55f136425e73
206
+ timeout (0.6.1) sha256=78f57368a7e7bbadec56971f78a3f5ecbcfb59b7fcbb0a3ed6ddc08a5094accb
207
+ tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
208
+ unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42
209
+ unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
210
+ uri (1.1.1) sha256=379fa58d27ffb1387eaada68c749d1426738bd0f654d812fcc07e7568f5c57c6
211
+
212
+ BUNDLED WITH
213
+ 4.0.19