departure 8.1.0 → 8.3.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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +3 -1
  3. data/.pryrc +6 -6
  4. data/.standard.yml +9 -0
  5. data/AGENTS.md +9 -7
  6. data/Appraisals +8 -9
  7. data/CHANGELOG.md +7 -1
  8. data/Gemfile +8 -9
  9. data/Gemfile.lock +29 -12
  10. data/README.md +1 -1
  11. data/RELEASING.md +5 -4
  12. data/Rakefile +10 -10
  13. data/configuration.rb +3 -3
  14. data/departure.gemspec +23 -24
  15. data/gemfiles/rails_7_2.gemfile +11 -12
  16. data/gemfiles/rails_7_2.gemfile.lock +29 -12
  17. data/gemfiles/rails_8_0.gemfile +11 -12
  18. data/gemfiles/rails_8_0.gemfile.lock +29 -12
  19. data/gemfiles/rails_8_1.gemfile +10 -12
  20. data/gemfiles/rails_8_1.gemfile.lock +27 -13
  21. data/lib/active_record/connection_adapters/departure_adapter_behavior.rb +88 -0
  22. data/lib/active_record/connection_adapters/for_alter.rb +4 -4
  23. data/lib/active_record/connection_adapters/patch_connection_handling.rb +2 -2
  24. data/lib/active_record/connection_adapters/rails_7_2_departure_adapter.rb +17 -58
  25. data/lib/active_record/connection_adapters/rails_7_2_trilogy_adapter.rb +53 -0
  26. data/lib/active_record/connection_adapters/rails_8_0_departure_adapter.rb +26 -66
  27. data/lib/active_record/connection_adapters/rails_8_0_trilogy_adapter.rb +21 -0
  28. data/lib/active_record/connection_adapters/rails_8_1_mysql2_adapter.rb +7 -7
  29. data/lib/active_record/connection_adapters/rails_8_1_trilogy_adapter.rb +7 -7
  30. data/lib/departure/alter_argument.rb +6 -6
  31. data/lib/departure/cli_generator.rb +12 -12
  32. data/lib/departure/command.rb +1 -1
  33. data/lib/departure/configuration.rb +3 -3
  34. data/lib/departure/connection_details.rb +7 -7
  35. data/lib/departure/db_client.rb +5 -5
  36. data/lib/departure/dsn.rb +2 -2
  37. data/lib/departure/errors.rb +2 -2
  38. data/lib/departure/log_sanitizers/password_sanitizer.rb +1 -1
  39. data/lib/departure/logger.rb +2 -2
  40. data/lib/departure/option.rb +4 -4
  41. data/lib/departure/rails_adapter.rb +125 -102
  42. data/lib/departure/rails_patches/active_record_migrator_with_advisory_lock_patch.rb +2 -2
  43. data/lib/departure/railtie.rb +5 -5
  44. data/lib/departure/runner.rb +3 -3
  45. data/lib/departure/user_options.rb +1 -1
  46. data/lib/departure/version.rb +1 -1
  47. data/lib/departure.rb +18 -18
  48. data/lib/lhm/adapter.rb +12 -12
  49. data/lib/lhm/column_with_sql.rb +8 -8
  50. data/lib/lhm.rb +1 -1
  51. data/test_database.rb +10 -10
  52. metadata +34 -19
  53. data/.rubocop.yml +0 -66
  54. data/.rubocop_todo.yml +0 -238
  55. data/lib/active_record/connection_adapters/rails_8_1_adapter_behavior.rb +0 -64
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7c430a93842e6abdfa3f64de47ae938c782d53bbaba75ba532baee057b25d471
4
- data.tar.gz: 0eeaaeaa8a9d6cf83885ab94b4ad1aae833d73f1fd1f9da87414476f5eede157
3
+ metadata.gz: 90c804943f17f4dfe39044bf933d689855eed8bdf730ba9b679b1f5ae7ba98d6
4
+ data.tar.gz: 07bf8353553f71b6297c532ac45e15e8d48dc47f94a2da68e01d21fc4194e95d
5
5
  SHA512:
6
- metadata.gz: 4e0b56e69008ab1885216db89d106775ef10198819d2da007476820921c8c382c79aba3d63637a99276c321723112796936b03b5b099db3a629bbe80d9da21f4
7
- data.tar.gz: d9de074bdaa985d016e83ad61745e3c77930e9262bc5dea7e4d7a5b9db75d86c66db9f2929d14f474f91f1ffbb3397a553b6c4e60fc0c5dd2e9800db15a04ee6
6
+ metadata.gz: b2c88d32b46a8bea0d3b2e7ddf904eb0d9c11e15eabc09dcd69abfa199f8c96483926c233e560c4f34ae04b59ac8db9a0741fa38133da7f31907dbb7eecf05b8
7
+ data.tar.gz: 3f3da0ac6e1b50c6334515e17bc515ef5bdec2b7343e154d2bc050ff3614acb596f04d83ac9be44525c5bc406a6fcbbd5e6df5b9bb3987875807960f5f3ca991
@@ -46,6 +46,8 @@ jobs:
46
46
  - 3.3
47
47
  - 3.4
48
48
  gemfile:
49
+ - gemfiles/rails_7_2.gemfile
50
+ - gemfiles/rails_8_0.gemfile
49
51
  - gemfiles/rails_8_1.gemfile
50
52
  env:
51
53
  DB_ADAPTER: "trilogy"
@@ -87,4 +89,4 @@ jobs:
87
89
  with:
88
90
  ruby-version: 3.4
89
91
  bundler-cache: true
90
- - run: bundle exec rubocop --parallel
92
+ - run: bundle exec standardrb
data/.pryrc CHANGED
@@ -1,11 +1,11 @@
1
1
  if defined?(PryByebug)
2
- Pry.commands.alias_command 'c', 'continue'
3
- Pry.commands.alias_command 's', 'step'
4
- Pry.commands.alias_command 'n', 'next'
5
- Pry.commands.alias_command 'f', 'finish'
6
- Pry.commands.alias_command 'w', 'pry-backtrace'
2
+ Pry.commands.alias_command "c", "continue"
3
+ Pry.commands.alias_command "s", "step"
4
+ Pry.commands.alias_command "n", "next"
5
+ Pry.commands.alias_command "f", "finish"
6
+ Pry.commands.alias_command "w", "pry-backtrace"
7
7
 
8
- Pry::Commands.command(/^$/, 'repeat last command') do
8
+ Pry::Commands.command(/^$/, "repeat last command") do
9
9
  pry_instance.run_command Pry.history.to_a.last
10
10
  end
11
11
  end
data/.standard.yml ADDED
@@ -0,0 +1,9 @@
1
+ ruby_version: 3.2
2
+ double_quotes: true
3
+ ignore:
4
+ - "spec/integration/**/*":
5
+ - Lint/ConstantDefinitionInBlock
6
+ - "spec/integration_spec.rb":
7
+ - Lint/ConstantDefinitionInBlock
8
+ - "spec/lhm_integration_spec.rb":
9
+ - Lint/ConstantDefinitionInBlock
data/AGENTS.md CHANGED
@@ -4,16 +4,18 @@ Departure is a Ruby gem that wraps Rails ActiveRecord migrations using `ALTER TA
4
4
 
5
5
  It must stay aware of how the ActiveRecord API changes across versions and supports all currently supported versions of Rails and Ruby.
6
6
 
7
- It supports both the `mysql2` and `trilogy` database adapter gems (trilogy on Rails 8.1+).
7
+ It supports both the `mysql2` and `trilogy` database adapter gems (trilogy on Rails 7.2+).
8
8
 
9
9
  # Project Layout
10
10
 
11
11
  - `lib/active_record/connection_adapters/` — per-Rails-version connection adapters:
12
12
  - `rails_7_2_departure_adapter.rb`
13
+ - `rails_7_2_trilogy_adapter.rb`
13
14
  - `rails_8_0_departure_adapter.rb`
15
+ - `rails_8_0_trilogy_adapter.rb`
14
16
  - `rails_8_1_mysql2_adapter.rb`
15
17
  - `rails_8_1_trilogy_adapter.rb`
16
- - `for_alter.rb`, `patch_connection_handling.rb` — shared behavior
18
+ - `departure_adapter_behavior.rb`, `for_alter.rb`, `patch_connection_handling.rb` — shared behavior. `DepartureAdapterBehavior` holds the composable pieces (SchemaStatements, DbClientConnection, PerformQuery, and the Rails8 composite for Rails >= 8.0 adapters); new adapters should reuse these instead of redefining schema statements or client wrapping.
17
19
  - `lib/departure/rails_adapter.rb` — version dispatch. `Departure::RailsAdapter.for(ar_version, db_connection_adapter:)` selects the right adapter class. New Rails/adapter combinations are wired in here.
18
20
  - `lib/departure/railtie.rb` — Rails integration entry point; calls `RailsAdapter.register_integrations`.
19
21
  - `lib/departure/runner.rb`, `cli_generator.rb`, `command.rb` — intercept ALTER statements and shell out to `pt-online-schema-change`.
@@ -23,10 +25,10 @@ It supports both the `mysql2` and `trilogy` database adapter gems (trilogy on Ra
23
25
 
24
26
  # Adapter Selection
25
27
 
26
- 1. If the database config specifies `trilogy` (Rails 8.1+), use the trilogy adapter.
28
+ 1. If the database config specifies `trilogy` (Rails 7.2+), use the trilogy adapter.
27
29
  2. Otherwise default to `mysql2`.
28
30
 
29
- Selection lives in `Departure::RailsAdapter.for`. When adding a new Rails version, add a `V<MAJOR>_<MINOR>_*Adapter` subclass of `BaseAdapter` and update the dispatch logic.
31
+ Selection lives in `Departure::RailsAdapter.for`. When adding a new Rails version, add a `V<MAJOR>_<MINOR>_*Adapter` subclass of `BaseAdapter` declaring its mysql2/trilogy `Registration`s and add the version to the dispatch table in `.for`.
30
32
 
31
33
  # Development
32
34
 
@@ -41,7 +43,7 @@ Set by `docker-compose.yml`; if running outside Docker, export them yourself:
41
43
  - `PERCONA_DB_PASSWORD`
42
44
  - `PERCONA_DB_HOST`
43
45
  - `PERCONA_DB_NAME`
44
- - `DB_ADAPTER=trilogy` — only when running against trilogy (Rails 8.1)
46
+ - `DB_ADAPTER=trilogy` — only when running against trilogy
45
47
 
46
48
  ## External dependencies
47
49
 
@@ -53,12 +55,12 @@ Set by `docker-compose.yml`; if running outside Docker, export them yourself:
53
55
  - Be sure that changes are valid against both `rubocop` and the `rspec` suites.
54
56
  - The supported test matrix is defined in `.github/workflows/test.yml`:
55
57
  - **mysql2:** Ruby 3.2 / 3.3 / 3.4 × Rails 7.2 / 8.0 / 8.1
56
- - **trilogy:** Ruby 3.2 / 3.3 / 3.4 × Rails 8.1 only
58
+ - **trilogy:** Ruby 3.2 / 3.3 / 3.4 × Rails 7.2 / 8.0 / 8.1
57
59
  - **lint:** Ruby 3.4 with the Rails 8.1 gemfile
58
60
  - Run inside Docker via `appraisal`:
59
61
  - Full suite: `docker compose exec rails bundle exec appraisal rails-8-1 bundle exec rspec spec`
60
62
  - Single example: `docker compose exec rails bundle exec appraisal rails-8-1 bundle exec rspec spec/path/to_spec.rb:LINE`
61
- - Trilogy run: prepend `DB_ADAPTER=trilogy` to the rspec command (rails-8-1 only)
63
+ - Trilogy run: prepend `DB_ADAPTER=trilogy` to the rspec command
62
64
  - Lint: `docker compose exec rails bundle exec appraisal rails-8-1 bundle exec rubocop --parallel`
63
65
 
64
66
  # Adding a Rails version
data/Appraisals CHANGED
@@ -1,14 +1,13 @@
1
- appraise 'rails-7-2' do
2
- gem 'bigdecimal'
3
- gem 'rails', '7.2.2.1'
1
+ appraise "rails-7-2" do
2
+ gem "bigdecimal"
3
+ gem "rails", "7.2.2.1"
4
4
  end
5
5
 
6
- appraise 'rails-8-0' do
7
- gem 'bigdecimal'
8
- gem 'rails', '8.0.2.1'
6
+ appraise "rails-8-0" do
7
+ gem "bigdecimal"
8
+ gem "rails", "8.0.2.1"
9
9
  end
10
10
 
11
- appraise 'rails-8-1' do
12
- gem 'rails', '8.1.1'
13
- gem 'trilogy'
11
+ appraise "rails-8-1" do
12
+ gem "rails", "8.1.1"
14
13
  end
data/CHANGELOG.md CHANGED
@@ -4,7 +4,13 @@ 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]
7
+ ## [8.3.0] - 2026-10-29
8
+
9
+ - [Drop the `mysql2` runtime dependency](https://github.com/departurerb/departure/pull/152) so apps can use departure with only `trilogy`; add `mysql2` or `trilogy` to your Gemfile yourself
10
+
11
+ ## [8.2.0] - 2026-09-09
12
+
13
+ - [Add Rails 7.2 and 8.0 Trilogy adapter support](https://github.com/departurerb/departure/pull/145)
8
14
 
9
15
  ## [8.1.0] - 2026-05-28
10
16
 
data/Gemfile CHANGED
@@ -1,12 +1,11 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
 
3
3
  gemspec
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 'rubocop', '~> 1.74.0', require: false
11
- gem 'rubocop-performance', '~> 1.20.2', require: false
12
- 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 "standardrb", require: false
11
+ gem "zeitwerk", "< 2.7.0"
data/Gemfile.lock CHANGED
@@ -1,9 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- departure (8.1.0)
4
+ departure (8.3.0)
5
5
  activerecord (>= 7.2.0)
6
- mysql2 (>= 0.4.0, < 0.6.0)
7
6
  railties (>= 7.2.0)
8
7
 
9
8
  GEM
@@ -99,7 +98,7 @@ GEM
99
98
  pp (0.6.2)
100
99
  prettyprint
101
100
  prettyprint (0.2.0)
102
- prism (1.4.0)
101
+ prism (1.9.0)
103
102
  pry (0.15.2)
104
103
  coderay (~> 1.1)
105
104
  method_source (~> 1.0)
@@ -156,7 +155,7 @@ GEM
156
155
  diff-lcs (>= 1.2.0, < 2.0)
157
156
  rspec-support (~> 3.13.0)
158
157
  rspec-support (3.13.2)
159
- rubocop (1.74.0)
158
+ rubocop (1.84.2)
160
159
  json (~> 2.3)
161
160
  language_server-protocol (~> 3.17.0.2)
162
161
  lint_roller (~> 1.1.0)
@@ -164,15 +163,16 @@ GEM
164
163
  parser (>= 3.3.0.2)
165
164
  rainbow (>= 2.2.2, < 4.0)
166
165
  regexp_parser (>= 2.9.3, < 3.0)
167
- rubocop-ast (>= 1.38.0, < 2.0)
166
+ rubocop-ast (>= 1.49.0, < 2.0)
168
167
  ruby-progressbar (~> 1.7)
169
168
  unicode-display_width (>= 2.4.0, < 4.0)
170
- rubocop-ast (1.43.0)
169
+ rubocop-ast (1.49.1)
171
170
  parser (>= 3.3.7.2)
172
- prism (~> 1.4)
173
- rubocop-performance (1.20.2)
174
- rubocop (>= 1.48.1, < 2.0)
175
- rubocop-ast (>= 1.30.0, < 2.0)
171
+ prism (~> 1.7)
172
+ rubocop-performance (1.26.1)
173
+ lint_roller (~> 1.1)
174
+ rubocop (>= 1.75.0, < 2.0)
175
+ rubocop-ast (>= 1.47.1, < 2.0)
176
176
  ruby-progressbar (1.13.0)
177
177
  securerandom (0.4.1)
178
178
  simplecov (0.13.0)
@@ -180,9 +180,25 @@ GEM
180
180
  json (>= 1.8, < 3)
181
181
  simplecov-html (~> 0.10.0)
182
182
  simplecov-html (0.10.2)
183
+ standard (1.54.0)
184
+ language_server-protocol (~> 3.17.0.2)
185
+ lint_roller (~> 1.0)
186
+ rubocop (~> 1.84.0)
187
+ standard-custom (~> 1.0.0)
188
+ standard-performance (~> 1.8)
189
+ standard-custom (1.0.2)
190
+ lint_roller (~> 1.0)
191
+ rubocop (~> 1.50)
192
+ standard-performance (1.9.0)
193
+ lint_roller (~> 1.1)
194
+ rubocop-performance (~> 1.26.0)
195
+ standardrb (1.0.1)
196
+ standard
183
197
  stringio (3.1.6)
184
198
  thor (1.3.2)
185
199
  timeout (0.4.3)
200
+ trilogy (2.13.1)
201
+ bigdecimal
186
202
  tzinfo (2.0.6)
187
203
  concurrent-ruby (~> 1.0)
188
204
  unicode-display_width (3.1.4)
@@ -209,12 +225,13 @@ DEPENDENCIES
209
225
  lhm
210
226
  logger
211
227
  mutex_m
228
+ mysql2 (>= 0.4.0, < 0.6.0)
212
229
  pry-byebug
213
230
  rake (>= 10.0)
214
231
  rspec (~> 3.4, >= 3.4.0)
215
232
  rspec-its (~> 1.2)
216
- rubocop (~> 1.74.0)
217
- rubocop-performance (~> 1.20.2)
233
+ standardrb
234
+ trilogy (~> 2.7)
218
235
  zeitwerk (< 2.7.0)
219
236
 
220
237
  BUNDLED WITH
data/README.md CHANGED
@@ -157,7 +157,7 @@ All configuration options are configurable from the `Departure.configure` block
157
157
 
158
158
  ### Trilogy Adapter Support
159
159
 
160
- Starting in Rails 8.1 we add support for the use of the trilogy database adapter gem. Logic for selecting an adapter follows this logic
160
+ The trilogy database adapter gem is supported on Rails 7.2 and newer. Logic for selecting an adapter follows this logic
161
161
 
162
162
  1. If the database configuration specifies 'trilogy' use the trilogy adapter
163
163
  2. Default to mysql2
data/RELEASING.md CHANGED
@@ -8,10 +8,11 @@ master, name it following the Rails repo convention, such as `v4.2`, and
8
8
  we'll keep it open for bug fixes.
9
9
 
10
10
  1. Update `lib/departure/version.rb` accordingly
11
- 2. Review the `CHANGELOG.md` and add a new section following the format
11
+ 2. Run `bundle && bundle exec appraisal` to udpate the lock files
12
+ 3. Review the `CHANGELOG.md` and add a new section following the format
12
13
  `[version] - YYYY-MM-DD`. We conform to the guidelines of
13
14
  http://keepachangelog.com/
14
- 3. Commit the changes with the message `Prepare release VERSION`
15
- 4. Execute the release rake task as `bundle exec rake release`. It creates the
15
+ 4. Commit the changes with the message `Prepare release VERSION`
16
+ 5. Execute the release rake task as `bundle exec rake release`. It creates the
16
17
  tag, builds and pushes the gem to Rubygems.
17
- 5. Announce it! :tada:
18
+ 6. Announce it! :tada:
data/Rakefile CHANGED
@@ -1,24 +1,24 @@
1
- require 'bundler/gem_tasks'
2
- require 'rspec/core/rake_task'
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
3
 
4
- require 'logger'
5
- require './configuration'
6
- require './test_database'
4
+ require "logger"
5
+ require "./configuration"
6
+ require "./test_database"
7
7
 
8
8
  RSpec::Core::RakeTask.new(:spec)
9
9
 
10
10
  task default: :spec
11
11
 
12
12
  namespace :db do
13
- desc 'Create the test database'
13
+ desc "Create the test database"
14
14
  task :create do
15
15
  config = Configuration.new
16
16
 
17
17
  ActiveRecord::Base.establish_connection(
18
- adapter: 'mysql2',
19
- host: config['hostname'],
20
- username: config['username'],
21
- password: config['password']
18
+ adapter: "mysql2",
19
+ host: config["hostname"],
20
+ username: config["username"],
21
+ password: config["password"]
22
22
  )
23
23
 
24
24
  TestDatabase.new(config).setup_test_database
data/configuration.rb CHANGED
@@ -1,8 +1,8 @@
1
- require 'yaml'
2
- require 'erb'
1
+ require "yaml"
2
+ require "erb"
3
3
 
4
4
  class Configuration
5
- CONFIG_PATH = 'config.yml.erb'.freeze
5
+ CONFIG_PATH = "config.yml.erb".freeze
6
6
 
7
7
  attr_reader :config
8
8
 
data/departure.gemspec CHANGED
@@ -1,33 +1,32 @@
1
- # coding: utf-8
2
-
3
- lib = File.expand_path('../lib', __FILE__)
1
+ lib = File.expand_path("../lib", __FILE__)
4
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
3
 
6
- require 'departure/version'
4
+ require "departure/version"
7
5
 
8
6
  Gem::Specification.new do |spec|
9
- spec.name = 'departure'
10
- spec.version = Departure::VERSION
11
- spec.authors = ['Ilya Zayats', 'Pau Pérez', 'Fran Casas', 'Jorge Morante', 'Enrico Stano', 'Adrian Serafin', 'Kirk Haines', 'Guillermo Iguaran', 'Austin Story', 'Douglas Soares de Andrade']
12
- spec.email = ['ilya.zayats@redbooth.com', 'pau.perez@redbooth.com', 'nflamel@gmail.com', 'jorge.morante@redbooth.com', 'adrian@softmad.pl', 'wyhaines@gmail.com', 'guilleiguaran@gmail.com', 'lonnieastory@gmail.com', 'douglas@51street.dev']
13
- spec.summary = %q(pt-online-schema-change runner for ActiveRecord migrations)
14
- spec.description = %q(Execute your ActiveRecord migrations with Percona's pt-online-schema-change. Formerly known as Percona Migrator.)
15
- spec.homepage = 'https://github.com/departurerb/departure'
16
- spec.license = 'MIT'
7
+ spec.name = "departure"
8
+ spec.version = Departure::VERSION
9
+ spec.authors = ["Ilya Zayats", "Pau Pérez", "Fran Casas", "Jorge Morante", "Enrico Stano", "Adrian Serafin", "Kirk Haines", "Guillermo Iguaran", "Austin Story", "Douglas Soares de Andrade"]
10
+ spec.email = ["ilya.zayats@redbooth.com", "pau.perez@redbooth.com", "nflamel@gmail.com", "jorge.morante@redbooth.com", "adrian@softmad.pl", "wyhaines@gmail.com", "guilleiguaran@gmail.com", "lonnieastory@gmail.com", "douglas@51street.dev"]
11
+ spec.summary = "pt-online-schema-change runner for ActiveRecord migrations"
12
+ spec.description = "Execute your ActiveRecord migrations with Percona's pt-online-schema-change. Formerly known as Percona Migrator."
13
+ spec.homepage = "https://github.com/departurerb/departure"
14
+ spec.license = "MIT"
17
15
 
18
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
19
- spec.require_paths = ['lib']
16
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
+ spec.require_paths = ["lib"]
20
18
 
21
- spec.required_ruby_version = '>= 3.2.0'
19
+ spec.required_ruby_version = ">= 3.2.0"
22
20
 
23
- spec.add_runtime_dependency 'railties', '>= 7.2.0'
24
- spec.add_runtime_dependency 'activerecord', '>= 7.2.0'
25
- spec.add_runtime_dependency 'mysql2', '>= 0.4.0', '< 0.6.0'
21
+ spec.add_runtime_dependency "railties", ">= 7.2.0"
22
+ spec.add_runtime_dependency "activerecord", ">= 7.2.0"
26
23
 
27
- spec.add_development_dependency 'appraisal', '~> 2.5.0'
28
- spec.add_development_dependency 'rake', '>= 10.0'
29
- spec.add_development_dependency 'rspec', '~> 3.4', '>= 3.4.0'
30
- spec.add_development_dependency 'rspec-its', '~> 1.2'
31
- spec.add_development_dependency 'pry-byebug'
32
- spec.add_development_dependency 'climate_control', '~> 0.0.3'
24
+ spec.add_development_dependency "appraisal", "~> 2.5.0"
25
+ spec.add_development_dependency "mysql2", ">= 0.4.0", "< 0.6.0"
26
+ spec.add_development_dependency "rake", ">= 10.0"
27
+ spec.add_development_dependency "rspec", "~> 3.4", ">= 3.4.0"
28
+ spec.add_development_dependency "rspec-its", "~> 1.2"
29
+ spec.add_development_dependency "trilogy", "~> 2.7"
30
+ spec.add_development_dependency "pry-byebug"
31
+ spec.add_development_dependency "climate_control", "~> 0.0.3"
33
32
  end
@@ -1,16 +1,15 @@
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 'bigdecimal'
7
- gem 'codeclimate-test-reporter', '~> 1.0.3', group: :test, require: nil
8
- gem 'lhm'
9
- gem 'logger'
10
- gem 'mutex_m', require: false
11
- gem 'rails', '7.2.2.1'
12
- gem 'rubocop', '~> 1.74.0', require: false
13
- gem 'rubocop-performance', '~> 1.20.2', require: false
14
- 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 "standardrb", require: false
11
+ gem "zeitwerk", "< 2.7.0"
12
+ gem "bigdecimal"
13
+ gem "rails", "7.2.2.1"
15
14
 
16
- gemspec path: '../'
15
+ gemspec path: "../"
@@ -1,9 +1,8 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- departure (8.1.0)
4
+ departure (8.3.0)
5
5
  activerecord (>= 7.2.0)
6
- mysql2 (>= 0.4.0, < 0.6.0)
7
6
  railties (>= 7.2.0)
8
7
 
9
8
  GEM
@@ -167,7 +166,7 @@ GEM
167
166
  pp (0.6.3)
168
167
  prettyprint
169
168
  prettyprint (0.2.0)
170
- prism (1.6.0)
169
+ prism (1.9.0)
171
170
  pry (0.15.2)
172
171
  coderay (~> 1.1)
173
172
  method_source (~> 1.0)
@@ -240,7 +239,7 @@ GEM
240
239
  diff-lcs (>= 1.2.0, < 2.0)
241
240
  rspec-support (~> 3.13.0)
242
241
  rspec-support (3.13.6)
243
- rubocop (1.74.0)
242
+ rubocop (1.84.2)
244
243
  json (~> 2.3)
245
244
  language_server-protocol (~> 3.17.0.2)
246
245
  lint_roller (~> 1.1.0)
@@ -248,15 +247,16 @@ GEM
248
247
  parser (>= 3.3.0.2)
249
248
  rainbow (>= 2.2.2, < 4.0)
250
249
  regexp_parser (>= 2.9.3, < 3.0)
251
- rubocop-ast (>= 1.38.0, < 2.0)
250
+ rubocop-ast (>= 1.49.0, < 2.0)
252
251
  ruby-progressbar (~> 1.7)
253
252
  unicode-display_width (>= 2.4.0, < 4.0)
254
- rubocop-ast (1.47.1)
253
+ rubocop-ast (1.49.1)
255
254
  parser (>= 3.3.7.2)
256
- prism (~> 1.4)
257
- rubocop-performance (1.20.2)
258
- rubocop (>= 1.48.1, < 2.0)
259
- rubocop-ast (>= 1.30.0, < 2.0)
255
+ prism (~> 1.7)
256
+ rubocop-performance (1.26.1)
257
+ lint_roller (~> 1.1)
258
+ rubocop (>= 1.75.0, < 2.0)
259
+ rubocop-ast (>= 1.47.1, < 2.0)
260
260
  ruby-progressbar (1.13.0)
261
261
  securerandom (0.4.1)
262
262
  simplecov (0.13.0)
@@ -264,9 +264,25 @@ GEM
264
264
  json (>= 1.8, < 3)
265
265
  simplecov-html (~> 0.10.0)
266
266
  simplecov-html (0.10.2)
267
+ standard (1.54.0)
268
+ language_server-protocol (~> 3.17.0.2)
269
+ lint_roller (~> 1.0)
270
+ rubocop (~> 1.84.0)
271
+ standard-custom (~> 1.0.0)
272
+ standard-performance (~> 1.8)
273
+ standard-custom (1.0.2)
274
+ lint_roller (~> 1.0)
275
+ rubocop (~> 1.50)
276
+ standard-performance (1.9.0)
277
+ lint_roller (~> 1.1)
278
+ rubocop-performance (~> 1.26.0)
279
+ standardrb (1.0.1)
280
+ standard
267
281
  stringio (3.1.7)
268
282
  thor (1.4.0)
269
283
  timeout (0.4.4)
284
+ trilogy (2.12.6)
285
+ bigdecimal
270
286
  tsort (0.2.0)
271
287
  tzinfo (2.0.6)
272
288
  concurrent-ruby (~> 1.0)
@@ -300,13 +316,14 @@ DEPENDENCIES
300
316
  lhm
301
317
  logger
302
318
  mutex_m
319
+ mysql2 (>= 0.4.0, < 0.6.0)
303
320
  pry-byebug
304
321
  rails (= 7.2.2.1)
305
322
  rake (>= 10.0)
306
323
  rspec (~> 3.4, >= 3.4.0)
307
324
  rspec-its (~> 1.2)
308
- rubocop (~> 1.74.0)
309
- rubocop-performance (~> 1.20.2)
325
+ standardrb
326
+ trilogy (~> 2.7)
310
327
  zeitwerk (< 2.7.0)
311
328
 
312
329
  BUNDLED WITH
@@ -1,16 +1,15 @@
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 'bigdecimal'
7
- gem 'codeclimate-test-reporter', '~> 1.0.3', group: :test, require: nil
8
- gem 'lhm'
9
- gem 'logger'
10
- gem 'mutex_m', require: false
11
- gem 'rails', '8.0.2.1'
12
- gem 'rubocop', '~> 1.74.0', require: false
13
- gem 'rubocop-performance', '~> 1.20.2', require: false
14
- 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 "standardrb", require: false
11
+ gem "zeitwerk", "< 2.7.0"
12
+ gem "bigdecimal"
13
+ gem "rails", "8.0.2.1"
15
14
 
16
- gemspec path: '../'
15
+ gemspec path: "../"
@@ -1,9 +1,8 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- departure (8.1.0)
4
+ departure (8.3.0)
5
5
  activerecord (>= 7.2.0)
6
- mysql2 (>= 0.4.0, < 0.6.0)
7
6
  railties (>= 7.2.0)
8
7
 
9
8
  GEM
@@ -167,7 +166,7 @@ GEM
167
166
  pp (0.6.3)
168
167
  prettyprint
169
168
  prettyprint (0.2.0)
170
- prism (1.6.0)
169
+ prism (1.9.0)
171
170
  pry (0.15.2)
172
171
  coderay (~> 1.1)
173
172
  method_source (~> 1.0)
@@ -240,7 +239,7 @@ GEM
240
239
  diff-lcs (>= 1.2.0, < 2.0)
241
240
  rspec-support (~> 3.13.0)
242
241
  rspec-support (3.13.6)
243
- rubocop (1.74.0)
242
+ rubocop (1.84.2)
244
243
  json (~> 2.3)
245
244
  language_server-protocol (~> 3.17.0.2)
246
245
  lint_roller (~> 1.1.0)
@@ -248,15 +247,16 @@ GEM
248
247
  parser (>= 3.3.0.2)
249
248
  rainbow (>= 2.2.2, < 4.0)
250
249
  regexp_parser (>= 2.9.3, < 3.0)
251
- rubocop-ast (>= 1.38.0, < 2.0)
250
+ rubocop-ast (>= 1.49.0, < 2.0)
252
251
  ruby-progressbar (~> 1.7)
253
252
  unicode-display_width (>= 2.4.0, < 4.0)
254
- rubocop-ast (1.47.1)
253
+ rubocop-ast (1.49.1)
255
254
  parser (>= 3.3.7.2)
256
- prism (~> 1.4)
257
- rubocop-performance (1.20.2)
258
- rubocop (>= 1.48.1, < 2.0)
259
- rubocop-ast (>= 1.30.0, < 2.0)
255
+ prism (~> 1.7)
256
+ rubocop-performance (1.26.1)
257
+ lint_roller (~> 1.1)
258
+ rubocop (>= 1.75.0, < 2.0)
259
+ rubocop-ast (>= 1.47.1, < 2.0)
260
260
  ruby-progressbar (1.13.0)
261
261
  securerandom (0.4.1)
262
262
  simplecov (0.13.0)
@@ -264,9 +264,25 @@ GEM
264
264
  json (>= 1.8, < 3)
265
265
  simplecov-html (~> 0.10.0)
266
266
  simplecov-html (0.10.2)
267
+ standard (1.54.0)
268
+ language_server-protocol (~> 3.17.0.2)
269
+ lint_roller (~> 1.0)
270
+ rubocop (~> 1.84.0)
271
+ standard-custom (~> 1.0.0)
272
+ standard-performance (~> 1.8)
273
+ standard-custom (1.0.2)
274
+ lint_roller (~> 1.0)
275
+ rubocop (~> 1.50)
276
+ standard-performance (1.9.0)
277
+ lint_roller (~> 1.1)
278
+ rubocop-performance (~> 1.26.0)
279
+ standardrb (1.0.1)
280
+ standard
267
281
  stringio (3.1.7)
268
282
  thor (1.4.0)
269
283
  timeout (0.4.4)
284
+ trilogy (2.12.6)
285
+ bigdecimal
270
286
  tsort (0.2.0)
271
287
  tzinfo (2.0.6)
272
288
  concurrent-ruby (~> 1.0)
@@ -301,13 +317,14 @@ DEPENDENCIES
301
317
  lhm
302
318
  logger
303
319
  mutex_m
320
+ mysql2 (>= 0.4.0, < 0.6.0)
304
321
  pry-byebug
305
322
  rails (= 8.0.2.1)
306
323
  rake (>= 10.0)
307
324
  rspec (~> 3.4, >= 3.4.0)
308
325
  rspec-its (~> 1.2)
309
- rubocop (~> 1.74.0)
310
- rubocop-performance (~> 1.20.2)
326
+ standardrb
327
+ trilogy (~> 2.7)
311
328
  zeitwerk (< 2.7.0)
312
329
 
313
330
  BUNDLED WITH