departure 7.0.0 → 8.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c90b332f5ca8002ae23bedaab9b368f2aa89c103ab287aa593f5563901e9bb10
4
- data.tar.gz: 46c52d6ce29dda0c0358cca5da19bfd5ebbe327e626c3c4c332fa7189df17759
3
+ metadata.gz: f073be830cc9193469fb3d31d99ce910ac32ab2de6838f8ee18fd30e1b5a4f26
4
+ data.tar.gz: beaffddbe848d268c6a83051c7b98e294ae06ae489111a8038aed3d836febffd
5
5
  SHA512:
6
- metadata.gz: dd21cf4f7b78ea979a92424540dde3a0e8bad9d1acf891f334352e5e6f9cc372d0c4fa897d9afb88d1cb282504a65895c00a87b467a52f6ca2423501c7f68af0
7
- data.tar.gz: 4b9b1112c42fd3b823eeb613bbde33ec596da1a7b2e1371ef2f87960b60a4c40a21a7d43bd2222269b2a8e71bd00c91bfa5d044ff5c2dce489cc299473b73a22
6
+ metadata.gz: 37730fd17a593c457fd02060f1bdf07f8c2feb8c9e9e2ad8bb2e3820c38943b0761efb3ee49b9d6fd2d6dc77949b7f9d2c9d784e12556c0826e7462374a128d1
7
+ data.tar.gz: 24dff29fd1900e9fd555edd491e1f6715548ca04ce9b7dce0a455e935c07790a6b9ecd8fad52e68fec51834df51c87057b9f937d741159503d73d32c40f3207a
@@ -12,10 +12,9 @@ jobs:
12
12
  - 3.3
13
13
  - 3.4
14
14
  gemfile:
15
- - gemfiles/rails_7_0.gemfile
16
- - gemfiles/rails_7_1.gemfile
17
15
  - gemfiles/rails_7_2.gemfile
18
16
  - gemfiles/rails_8_0.gemfile
17
+ - gemfiles/rails_8_1.gemfile
19
18
  env:
20
19
  PERCONA_DB_USER: root
21
20
  PERCONA_DB_PASSWORD: root
@@ -43,12 +42,12 @@ jobs:
43
42
  env:
44
43
  PERCONA_DB_USER: root
45
44
  PERCONA_DB_PASSWORD: root
46
- BUNDLE_GEMFILE: gemfiles/rails_7_1.gemfile
45
+ BUNDLE_GEMFILE: gemfiles/rails_8_1.gemfile
47
46
  runs-on: ubuntu-latest
48
47
  steps:
49
48
  - uses: actions/checkout@v4
50
49
  - uses: ruby/setup-ruby@v1
51
50
  with:
52
- ruby-version: 3.3
51
+ ruby-version: 3.4
53
52
  bundler-cache: true
54
53
  - run: bundle exec rubocop --parallel
data/Appraisals CHANGED
@@ -1,15 +1,13 @@
1
- appraise 'rails-7-0' do
2
- gem 'rails', '7.0.8'
3
- end
4
-
5
- appraise 'rails-7-1' do
6
- gem 'rails', '7.1.3'
7
- end
8
-
9
1
  appraise 'rails-7-2' do
2
+ gem 'bigdecimal'
10
3
  gem 'rails', '7.2.2.1'
11
4
  end
12
5
 
13
6
  appraise 'rails-8-0' do
7
+ gem 'bigdecimal'
14
8
  gem 'rails', '8.0.2.1'
15
9
  end
10
+
11
+ appraise 'rails-8-1' do
12
+ gem 'rails', '8.1.1'
13
+ end
data/CHANGELOG.md CHANGED
@@ -4,6 +4,16 @@ This project adheres to [Semantic Versioning](http://semver.org/).
4
4
 
5
5
  Please follow the format in [Keep a Changelog](http://keepachangelog.com/)
6
6
 
7
+ ## [NEXT]
8
+
9
+ ## [8.0.0] - 2025-11-24
10
+
11
+ - Bump [appraisal to 2.5.0](https://github.com/departurerb/departure/pull/129)
12
+ - Add support for [Rails 8.1](https://github.com/departurerb/departure/pull/128)
13
+ - Skinnify Departure [to remove most non pt-online-schema-change](https://github.com/departurerb/departure/pull/131) responsibility from departure
14
+ - Inherit from [Mysql2 Adapter instead of AbstractMysqlAdapter](https://github.com/departurerb/departure/pull/130)
15
+ - Remove Support for [Rails 7.0 and Rails 7.1](https://github.com/departurerb/departure/pull/135)
16
+
7
17
  ## [7.0.0] - 2025-08-21
8
18
 
9
19
  - Drop Ruby 3.1 support. Add >= 3.2 ruby support in gemspec. EOL for 3.1.0 was 2025-03-31
data/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM ruby:3.0
1
+ FROM ruby:3.4
2
2
  MAINTAINER muffinista@gmail.com
3
3
 
4
4
  # Install apt based dependencies required to run Rails as
@@ -14,17 +14,10 @@ RUN apt-get update && apt-get install -y \
14
14
  RUN mkdir -p /app /app/lib/departure
15
15
  WORKDIR /app
16
16
 
17
- # Copy the Gemfile as well as the Gemfile.lock and install
18
- # the RubyGems. This is a separate step so the dependencies
19
- # will be cached unless changes to one of those two files
20
- # are made.
21
- COPY departure.gemspec Gemfile ./
22
- COPY lib/departure/version.rb ./lib/departure/
17
+ # Install bundler - dependencies will be installed via volume mount
18
+ RUN gem install bundler
23
19
 
24
- RUN gem install bundler && bundle install --jobs 20 --retry 5
25
-
26
- # Copy the main application.
27
- COPY . ./
20
+ # Project root will be mounted as volume for live development
28
21
 
29
22
  # The main command to run when the container starts. Also
30
23
  # tell the Rails dev server to bind to all interfaces by
data/Gemfile.lock CHANGED
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- departure (7.0.0)
5
- activerecord (>= 7.0.1)
4
+ departure (8.0.0)
5
+ activerecord (>= 7.2.0)
6
6
  mysql2 (>= 0.4.0, < 0.6.0)
7
- railties (>= 7.0.1)
7
+ railties (>= 7.2.0)
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
@@ -44,7 +44,7 @@ GEM
44
44
  securerandom (>= 0.3)
45
45
  tzinfo (~> 2.0, >= 2.0.5)
46
46
  uri (>= 0.13.1)
47
- appraisal (2.4.1)
47
+ appraisal (2.5.0)
48
48
  bundler
49
49
  rake
50
50
  thor (>= 0.14.0)
@@ -86,6 +86,8 @@ GEM
86
86
  minitest (5.25.5)
87
87
  mutex_m (0.3.0)
88
88
  mysql2 (0.5.6)
89
+ nokogiri (1.18.7-aarch64-linux-gnu)
90
+ racc (~> 1.4)
89
91
  nokogiri (1.18.7-arm64-darwin)
90
92
  racc (~> 1.4)
91
93
  nokogiri (1.18.7-x86_64-linux-gnu)
@@ -191,6 +193,7 @@ GEM
191
193
  zeitwerk (2.6.18)
192
194
 
193
195
  PLATFORMS
196
+ aarch64-linux
194
197
  arm64-darwin-21
195
198
  arm64-darwin-22
196
199
  arm64-darwin-23
@@ -198,7 +201,7 @@ PLATFORMS
198
201
  x86_64-linux
199
202
 
200
203
  DEPENDENCIES
201
- appraisal (~> 2.4.1)
204
+ appraisal (~> 2.5.0)
202
205
  base64
203
206
  climate_control (~> 0.0.3)
204
207
  codeclimate-test-reporter (~> 1.0.3)
data/README.md CHANGED
@@ -213,6 +213,70 @@ When any errors occur, an `ActiveRecord::StatementInvalid` exception is
213
213
  raised and the migration is aborted, as all other ActiveRecord connection
214
214
  adapters.
215
215
 
216
+ ### Diagram
217
+
218
+ ```mermaid
219
+ flowchart TB
220
+ %% User Level
221
+ subgraph "Rails Application"
222
+ Migration["Rails Migration<br/>(ActiveRecord::Migration)"]
223
+ DSL["Migration DSL<br/>(add_column, create_table, etc.)"]
224
+ end
225
+
226
+ %% Core Departure Components
227
+ subgraph "Departure System"
228
+ RailsAdapter["RailsAdapter<br/>(Version Detection)"]
229
+ DepartureAdapter["Rails81DepartureAdapter<br/>(Connection Adapter)"]
230
+ Runner["Runner<br/>(Query Interceptor)"]
231
+ Command["Command<br/>(Process Executor)"]
232
+ CliGenerator["CliGenerator<br/>(Command Builder)"]
233
+ end
234
+
235
+ %% External Components
236
+ subgraph "External Tools"
237
+ PTOSC["pt-online-schema-change<br/>(Percona Toolkit)"]
238
+ MySQL["MySQL Database"]
239
+ end
240
+
241
+ %% LHM Integration
242
+ subgraph "LHM Integration"
243
+ LhmAdapter["Lhm::Adapter<br/>(DSL Translator)"]
244
+ LhmMigration["LHM Migration"]
245
+ end
246
+
247
+ %% Flow connections
248
+ Migration --> DSL
249
+ DSL --> DepartureAdapter
250
+ DepartureAdapter --> Runner
251
+ Runner --> |"Non-ALTER statements"| MySQL
252
+ CliGenerator --> Command
253
+ Command --> PTOSC
254
+ PTOSC --> MySQL
255
+
256
+ %% LHM Flow
257
+ LhmMigration --> LhmAdapter
258
+ LhmAdapter --> DSL
259
+
260
+ %% Configuration Flow
261
+ RailsAdapter --> |"Registers"| DepartureAdapter
262
+
263
+ %% Decision Points
264
+ Runner --> |"Check: ALTER TABLE?"| DecisionNode{{"ALTER TABLE<br/>Statement?"}}
265
+ DecisionNode --> |"Yes"| CliGenerator
266
+ DecisionNode --> |"No"| MySQL
267
+
268
+ %% Styling
269
+ classDef departure fill:#e1f5fe
270
+ classDef external fill:#fff3e0
271
+ classDef rails fill:#e8f5e8
272
+ classDef lhm fill:#fce4ec
273
+
274
+ class RailsAdapter,DepartureAdapter,Runner,Command,CliGenerator departure
275
+ class PTOSC,MySQL external
276
+ class Migration,DSL rails
277
+ class LhmAdapter,LhmMigration lhm
278
+ ```
279
+
216
280
  ## Trouleshooting
217
281
 
218
282
  ### Error creating new table: DBD::mysql::db do failed: Can't write; duplicate key in table (TABLE_NAME)
@@ -221,6 +285,24 @@ that prevents schema changes when a table has constraints. You should upgrade to
221
285
 
222
286
  ## Development
223
287
 
288
+ ### Setup
289
+
290
+ #### Docker Compose
291
+
292
+ You can bring up the docker-compose setup and bash into rails in order to not install dependencies on your system
293
+
294
+ Gems are available on your local file system from tmp/local_gems directory. We need this due to changes in
295
+ internals of ActiveRecord and needing to run things like pry to debug how they work.
296
+
297
+ ```
298
+ docker compose up
299
+ docker compose exec rails bash
300
+ bundle install
301
+ # off to the races
302
+ ```
303
+
304
+ #### Manual
305
+
224
306
  After checking out the repo, run `bin/setup` to install dependencies. Then, run
225
307
  `rake spec` to run the tests. You can also run `bin/console` for an interactive
226
308
  prompt that will allow you to experiment.
@@ -231,6 +313,26 @@ release a new version, update the version number in `version.rb`, and then run
231
313
  git commits and tags, and push the `.gem` file to
232
314
  [rubygems.org](https://rubygems.org).
233
315
 
316
+ ### Appraisal
317
+
318
+ All versions of supported rails are defined in the [Appraisals file](./Appraisals) in project root
319
+
320
+ #### Usage
321
+
322
+ Say you want to run a specific test under a version of rails defined in Appraisal `rails-8-0`
323
+
324
+ ```
325
+ bundle exec appraisal rails-8-0 bundle install
326
+ bundle exec appraisal rails-8-0 bundle exec rspec spec/lhm/column_with_sql_spec.rb:50
327
+ ```
328
+
329
+ #### Adding Versions
330
+
331
+ - Add the version to [Appraisals file](./Appraisals)
332
+ - Run `bundle exec appraisal generate`
333
+ - Run `bundle exec appraisal install`
334
+ - updates ci [test.yml](./.github/workflows/test.yml) in the `gemfile:` section
335
+
234
336
  ## Contributing
235
337
 
236
338
  Bug reports and pull requests are welcome on GitHub at
data/config.yml.erb CHANGED
@@ -1,5 +1,9 @@
1
1
  username: <%= ENV['PERCONA_DB_USER'] || 'root' %>
2
- password: <%= ENV['PERCONA_DB_PASSWORD'] || '' %>
3
- database: <%= ENV['PERCONA_DB_NAME'] || 'departure_test' %>
4
- hostname: <%= ENV['PERCONA_DB_HOST'] || 'localhost' %>
5
- socket: <%= ENV['PERCONA_DB_SOCKET'] || '' %>
2
+ password: <%= ENV['PERCONA_DB_PASSWORD'] || '' %>
3
+ database: <%= ENV['PERCONA_DB_NAME'] || 'departure_test' %>
4
+ <% if ENV['PERCONA_DB_SOCKET'] && !ENV['PERCONA_DB_SOCKET'].empty? %>
5
+ socket: <%= ENV['PERCONA_DB_SOCKET'] %>
6
+ <% else %>
7
+ host: <%= ENV['PERCONA_DB_HOST'] || 'localhost' %>
8
+ port: <%= ENV['PERCONA_DB_PORT'] || 3306 %>
9
+ <% end %>
data/departure.gemspec CHANGED
@@ -21,11 +21,11 @@ Gem::Specification.new do |spec|
21
21
 
22
22
  spec.required_ruby_version = '>= 3.2.0'
23
23
 
24
- spec.add_runtime_dependency 'railties', '>= 7.0.1'
25
- spec.add_runtime_dependency 'activerecord', '>= 7.0.1'
24
+ spec.add_runtime_dependency 'railties', '>= 7.2.0'
25
+ spec.add_runtime_dependency 'activerecord', '>= 7.2.0'
26
26
  spec.add_runtime_dependency 'mysql2', '>= 0.4.0', '< 0.6.0'
27
27
 
28
- spec.add_development_dependency 'appraisal', '~> 2.4.1'
28
+ spec.add_development_dependency 'appraisal', '~> 2.5.0'
29
29
  spec.add_development_dependency 'rake', '>= 10.0'
30
30
  spec.add_development_dependency 'rspec', '~> 3.4', '>= 3.4.0'
31
31
  spec.add_development_dependency 'rspec-its', '~> 1.2'
data/docker-compose.yml CHANGED
@@ -16,7 +16,11 @@ services:
16
16
  - db
17
17
  tty: true
18
18
  stdin_open: true
19
+ volumes:
20
+ - .:/app
21
+ - ./tmp/local_gems:/app/vendor/bundle
19
22
  environment:
23
+ BUNDLE_PATH: /app/vendor/bundle
20
24
  PERCONA_DB_USER: root
21
25
  PERCONA_DB_HOST: db
22
26
  PERCONA_DB_PASSWORD:
@@ -1,15 +1,16 @@
1
1
  # This file was generated by Appraisal
2
2
 
3
- source 'https://rubygems.org'
3
+ source "https://rubygems.org"
4
4
 
5
- gem 'base64'
6
- gem 'codeclimate-test-reporter', '~> 1.0.3', group: :test, require: nil
7
- gem 'lhm'
8
- gem 'logger'
9
- gem 'mutex_m', require: false
10
- gem 'rails', '7.2.2.1'
11
- gem 'rubocop', '~> 1.74.0', require: false
12
- gem 'rubocop-performance', '~> 1.20.2', require: false
13
- gem 'zeitwerk', '< 2.7.0'
5
+ gem "base64"
6
+ gem "codeclimate-test-reporter", "~> 1.0.3", group: :test, require: nil
7
+ gem "lhm"
8
+ gem "logger"
9
+ gem "mutex_m", require: false
10
+ gem "rubocop", "~> 1.74.0", require: false
11
+ gem "rubocop-performance", "~> 1.20.2", require: false
12
+ gem "zeitwerk", "< 2.7.0"
13
+ gem "bigdecimal"
14
+ gem "rails", "7.2.2.1"
14
15
 
15
- gemspec path: '../'
16
+ gemspec path: "../"
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- departure (6.8.0)
5
- activerecord (>= 7.0.1)
4
+ departure (8.0.0)
5
+ activerecord (>= 7.2.0)
6
6
  mysql2 (>= 0.4.0, < 0.6.0)
7
- railties (>= 7.0.1)
7
+ railties (>= 7.2.0)
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
@@ -80,14 +80,14 @@ GEM
80
80
  minitest (>= 5.1)
81
81
  securerandom (>= 0.3)
82
82
  tzinfo (~> 2.0, >= 2.0.5)
83
- appraisal (2.4.1)
83
+ appraisal (2.5.0)
84
84
  bundler
85
85
  rake
86
86
  thor (>= 0.14.0)
87
87
  ast (2.4.3)
88
- base64 (0.2.0)
89
- benchmark (0.4.0)
90
- bigdecimal (3.1.9)
88
+ base64 (0.3.0)
89
+ benchmark (0.5.0)
90
+ bigdecimal (3.3.1)
91
91
  builder (3.3.0)
92
92
  byebug (12.0.0)
93
93
  climate_control (0.0.4)
@@ -96,42 +96,45 @@ GEM
96
96
  simplecov (<= 0.13)
97
97
  coderay (1.1.3)
98
98
  concurrent-ruby (1.3.5)
99
- connection_pool (2.5.0)
99
+ connection_pool (2.5.4)
100
100
  crass (1.0.6)
101
- date (3.4.1)
102
- diff-lcs (1.6.1)
101
+ date (3.5.0)
102
+ diff-lcs (1.6.2)
103
103
  docile (1.1.5)
104
- drb (2.2.1)
104
+ drb (2.2.3)
105
+ erb (5.1.3)
105
106
  erubi (1.13.1)
106
- globalid (1.2.1)
107
+ globalid (1.3.0)
107
108
  activesupport (>= 6.1)
108
109
  i18n (1.14.7)
109
110
  concurrent-ruby (~> 1.0)
110
- io-console (0.8.0)
111
- irb (1.15.1)
111
+ io-console (0.8.1)
112
+ irb (1.15.3)
112
113
  pp (>= 0.6.0)
113
114
  rdoc (>= 4.0.0)
114
115
  reline (>= 0.4.2)
115
- json (2.10.2)
116
- language_server-protocol (3.17.0.4)
116
+ json (2.15.2)
117
+ language_server-protocol (3.17.0.5)
117
118
  lhm (2.2.0)
118
119
  lint_roller (1.1.0)
119
120
  logger (1.7.0)
120
- loofah (2.24.0)
121
+ loofah (2.24.1)
121
122
  crass (~> 1.0.2)
122
123
  nokogiri (>= 1.12.0)
123
- mail (2.8.1)
124
+ mail (2.9.0)
125
+ logger
124
126
  mini_mime (>= 0.1.1)
125
127
  net-imap
126
128
  net-pop
127
129
  net-smtp
128
- marcel (1.0.4)
130
+ marcel (1.1.0)
129
131
  method_source (1.1.0)
130
132
  mini_mime (1.1.5)
131
- minitest (5.25.5)
133
+ minitest (5.26.0)
132
134
  mutex_m (0.3.0)
133
- mysql2 (0.5.6)
134
- net-imap (0.5.6)
135
+ mysql2 (0.5.7)
136
+ bigdecimal
137
+ net-imap (0.5.12)
135
138
  date
136
139
  net-protocol
137
140
  net-pop (0.1.2)
@@ -140,31 +143,43 @@ GEM
140
143
  timeout
141
144
  net-smtp (0.5.1)
142
145
  net-protocol
143
- nio4r (2.7.4)
144
- nokogiri (1.18.6-arm64-darwin)
146
+ nio4r (2.7.5)
147
+ nokogiri (1.18.10-aarch64-linux-gnu)
148
+ racc (~> 1.4)
149
+ nokogiri (1.18.10-aarch64-linux-musl)
150
+ racc (~> 1.4)
151
+ nokogiri (1.18.10-arm-linux-gnu)
152
+ racc (~> 1.4)
153
+ nokogiri (1.18.10-arm-linux-musl)
154
+ racc (~> 1.4)
155
+ nokogiri (1.18.10-arm64-darwin)
156
+ racc (~> 1.4)
157
+ nokogiri (1.18.10-x86_64-darwin)
158
+ racc (~> 1.4)
159
+ nokogiri (1.18.10-x86_64-linux-gnu)
145
160
  racc (~> 1.4)
146
- nokogiri (1.18.6-x86_64-linux-gnu)
161
+ nokogiri (1.18.10-x86_64-linux-musl)
147
162
  racc (~> 1.4)
148
- parallel (1.26.3)
149
- parser (3.3.7.4)
163
+ parallel (1.27.0)
164
+ parser (3.3.10.0)
150
165
  ast (~> 2.4.1)
151
166
  racc
152
- pp (0.6.2)
167
+ pp (0.6.3)
153
168
  prettyprint
154
169
  prettyprint (0.2.0)
155
- prism (1.4.0)
170
+ prism (1.6.0)
156
171
  pry (0.15.2)
157
172
  coderay (~> 1.1)
158
173
  method_source (~> 1.0)
159
174
  pry-byebug (3.11.0)
160
175
  byebug (~> 12.0)
161
176
  pry (>= 0.13, < 0.16)
162
- psych (5.2.3)
177
+ psych (5.2.6)
163
178
  date
164
179
  stringio
165
180
  racc (1.8.1)
166
- rack (3.1.12)
167
- rack-session (2.1.0)
181
+ rack (3.1.19)
182
+ rack-session (2.1.1)
168
183
  base64 (>= 0.1.0)
169
184
  rack (>= 3.0.0)
170
185
  rack-test (2.2.0)
@@ -185,7 +200,7 @@ GEM
185
200
  activesupport (= 7.2.2.1)
186
201
  bundler (>= 1.15.0)
187
202
  railties (= 7.2.2.1)
188
- rails-dom-testing (2.2.0)
203
+ rails-dom-testing (2.3.0)
189
204
  activesupport (>= 5.0.0)
190
205
  minitest
191
206
  nokogiri (>= 1.6)
@@ -201,28 +216,30 @@ GEM
201
216
  thor (~> 1.0, >= 1.2.2)
202
217
  zeitwerk (~> 2.6)
203
218
  rainbow (3.1.1)
204
- rake (13.2.1)
205
- rdoc (6.13.1)
219
+ rake (13.3.1)
220
+ rdoc (6.15.1)
221
+ erb
206
222
  psych (>= 4.0.0)
207
- regexp_parser (2.10.0)
208
- reline (0.6.0)
223
+ tsort
224
+ regexp_parser (2.11.3)
225
+ reline (0.6.2)
209
226
  io-console (~> 0.5)
210
- rspec (3.13.0)
227
+ rspec (3.13.2)
211
228
  rspec-core (~> 3.13.0)
212
229
  rspec-expectations (~> 3.13.0)
213
230
  rspec-mocks (~> 3.13.0)
214
- rspec-core (3.13.3)
231
+ rspec-core (3.13.6)
215
232
  rspec-support (~> 3.13.0)
216
- rspec-expectations (3.13.3)
233
+ rspec-expectations (3.13.5)
217
234
  diff-lcs (>= 1.2.0, < 2.0)
218
235
  rspec-support (~> 3.13.0)
219
236
  rspec-its (1.3.1)
220
237
  rspec-core (>= 3.0.0)
221
238
  rspec-expectations (>= 3.0.0)
222
- rspec-mocks (3.13.2)
239
+ rspec-mocks (3.13.7)
223
240
  diff-lcs (>= 1.2.0, < 2.0)
224
241
  rspec-support (~> 3.13.0)
225
- rspec-support (3.13.2)
242
+ rspec-support (3.13.6)
226
243
  rubocop (1.74.0)
227
244
  json (~> 2.3)
228
245
  language_server-protocol (~> 3.17.0.2)
@@ -234,7 +251,7 @@ GEM
234
251
  rubocop-ast (>= 1.38.0, < 2.0)
235
252
  ruby-progressbar (~> 1.7)
236
253
  unicode-display_width (>= 2.4.0, < 4.0)
237
- rubocop-ast (1.43.0)
254
+ rubocop-ast (1.47.1)
238
255
  parser (>= 3.3.7.2)
239
256
  prism (~> 1.4)
240
257
  rubocop-performance (1.20.2)
@@ -247,28 +264,36 @@ GEM
247
264
  json (>= 1.8, < 3)
248
265
  simplecov-html (~> 0.10.0)
249
266
  simplecov-html (0.10.2)
250
- stringio (3.1.6)
251
- thor (1.3.2)
252
- timeout (0.4.3)
267
+ stringio (3.1.7)
268
+ thor (1.4.0)
269
+ timeout (0.4.4)
270
+ tsort (0.2.0)
253
271
  tzinfo (2.0.6)
254
272
  concurrent-ruby (~> 1.0)
255
- unicode-display_width (3.1.4)
256
- unicode-emoji (~> 4.0, >= 4.0.4)
257
- unicode-emoji (4.0.4)
273
+ unicode-display_width (3.2.0)
274
+ unicode-emoji (~> 4.1)
275
+ unicode-emoji (4.1.0)
258
276
  useragent (0.16.11)
259
- websocket-driver (0.7.7)
277
+ websocket-driver (0.8.0)
260
278
  base64
261
279
  websocket-extensions (>= 0.1.0)
262
280
  websocket-extensions (0.1.5)
263
281
  zeitwerk (2.6.18)
264
282
 
265
283
  PLATFORMS
266
- arm64-darwin-24
267
- x86_64-linux
284
+ aarch64-linux-gnu
285
+ aarch64-linux-musl
286
+ arm-linux-gnu
287
+ arm-linux-musl
288
+ arm64-darwin
289
+ x86_64-darwin
290
+ x86_64-linux-gnu
291
+ x86_64-linux-musl
268
292
 
269
293
  DEPENDENCIES
270
- appraisal (~> 2.4.1)
294
+ appraisal (~> 2.5.0)
271
295
  base64
296
+ bigdecimal
272
297
  climate_control (~> 0.0.3)
273
298
  codeclimate-test-reporter (~> 1.0.3)
274
299
  departure!
@@ -1,14 +1,16 @@
1
1
  # This file was generated by Appraisal
2
2
 
3
- source 'https://rubygems.org'
3
+ source "https://rubygems.org"
4
4
 
5
- gem 'base64'
6
- gem 'codeclimate-test-reporter', '~> 1.0.3', group: :test, require: nil
7
- gem 'lhm'
8
- gem 'logger'
9
- gem 'mutex_m', require: false
10
- gem 'rails', '8.0.2.1'
11
- gem 'rubocop', '~> 1.74.0', require: false
12
- gem 'rubocop-performance', '~> 1.20.2', require: false
5
+ gem "base64"
6
+ gem "codeclimate-test-reporter", "~> 1.0.3", group: :test, require: nil
7
+ gem "lhm"
8
+ gem "logger"
9
+ gem "mutex_m", require: false
10
+ gem "rubocop", "~> 1.74.0", require: false
11
+ gem "rubocop-performance", "~> 1.20.2", require: false
12
+ gem "zeitwerk", "< 2.7.0"
13
+ gem "bigdecimal"
14
+ gem "rails", "8.0.2.1"
13
15
 
14
- gemspec path: '../'
16
+ gemspec path: "../"