departure 6.7.0 → 7.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 +4 -4
- data/.github/workflows/test.yml +5 -14
- data/.gitignore +1 -0
- data/.rubocop.yml +1 -1
- data/Appraisals +4 -24
- data/CHANGELOG.md +15 -1
- data/Gemfile +6 -1
- data/Gemfile.lock +108 -86
- data/README.md +8 -0
- data/Rakefile +9 -0
- data/bin/rails +24 -0
- data/departure.gemspec +3 -3
- data/gemfiles/rails_7_0.gemfile +8 -2
- data/gemfiles/rails_7_0.gemfile.lock +182 -131
- data/gemfiles/rails_7_1.gemfile +7 -2
- data/gemfiles/rails_7_1.gemfile.lock +156 -140
- data/gemfiles/{ruby_2.7_rails_6_0.gemfile → rails_7_2.gemfile} +7 -3
- data/gemfiles/rails_7_2.gemfile.lock +288 -0
- data/gemfiles/{rails_6_0.gemfile → rails_8_0.gemfile} +6 -2
- data/gemfiles/rails_8_0.gemfile.lock +285 -0
- data/lib/active_record/connection_adapters/for_alter.rb +4 -17
- data/lib/active_record/connection_adapters/patch_connection_handling.rb +18 -0
- data/lib/active_record/connection_adapters/percona_adapter.rb +9 -56
- data/lib/active_record/connection_adapters/rails_7_2_departure_adapter.rb +215 -0
- data/lib/active_record/connection_adapters/rails_8_0_departure_adapter.rb +293 -0
- data/lib/departure/command.rb +6 -2
- data/lib/departure/configuration.rb +2 -1
- data/lib/departure/migration.rb +1 -5
- data/lib/departure/rails_adapter.rb +146 -0
- data/lib/departure/rails_patches/active_record_migrator_with_advisory_lock_patch.rb +25 -0
- data/lib/departure/runner.rb +24 -4
- data/lib/departure/version.rb +1 -1
- data/lib/departure.rb +2 -5
- data/lib/lhm/column_with_sql.rb +1 -8
- data/test_database.rb +2 -6
- metadata +18 -47
- data/gemfiles/rails_6_0.gemfile.lock +0 -238
- data/gemfiles/rails_6_1.gemfile +0 -10
- data/gemfiles/rails_6_1.gemfile.lock +0 -241
- data/gemfiles/ruby_2.7_rails_6_0.gemfile.lock +0 -239
- data/gemfiles/ruby_2.7_rails_6_1.gemfile +0 -11
- data/gemfiles/ruby_2.7_rails_6_1.gemfile.lock +0 -242
- data/gemfiles/ruby_2.7_rails_7_0.gemfile +0 -11
- data/gemfiles/ruby_2.7_rails_7_0.gemfile.lock +0 -241
- data/gemfiles/ruby_2.7_rails_7_1.gemfile +0 -11
- data/gemfiles/ruby_2.7_rails_7_1.gemfile.lock +0 -275
@@ -0,0 +1,146 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Departure
|
4
|
+
class RailsAdapter
|
5
|
+
extend Forwardable
|
6
|
+
|
7
|
+
class << self
|
8
|
+
def version_matches?(version_string, compatibility_string = current_version::STRING)
|
9
|
+
raise "Invalid Gem Version: '#{version_string}'" unless Gem::Version.correct?(version_string)
|
10
|
+
|
11
|
+
requirement = Gem::Requirement.new(compatibility_string)
|
12
|
+
requirement.satisfied_by?(Gem::Version.new(version_string))
|
13
|
+
end
|
14
|
+
|
15
|
+
def current_version
|
16
|
+
ActiveRecord::VERSION
|
17
|
+
end
|
18
|
+
|
19
|
+
def for_current
|
20
|
+
self.for(current_version)
|
21
|
+
end
|
22
|
+
|
23
|
+
def for(ar_version)
|
24
|
+
if ar_version::MAJOR == 8
|
25
|
+
V8_0_Adapter
|
26
|
+
elsif ar_version::MAJOR >= 7 && ar_version::MINOR >= 2
|
27
|
+
V7_2_Adapter
|
28
|
+
elsif ar_version::MAJOR >= 6
|
29
|
+
BaseAdapter
|
30
|
+
else
|
31
|
+
raise "Unsupported Rails version: #{ar_version}"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
class BaseAdapter
|
37
|
+
class << self
|
38
|
+
def register_integrations
|
39
|
+
require 'active_record/connection_adapters/percona_adapter'
|
40
|
+
|
41
|
+
ActiveSupport.on_load(:active_record) do
|
42
|
+
ActiveRecord::Migration.class_eval do
|
43
|
+
include Departure::Migration
|
44
|
+
end
|
45
|
+
|
46
|
+
if ActiveRecord::VERSION::MAJOR == 7 && ActiveRecord::VERSION::MINOR == 1
|
47
|
+
require 'departure/rails_patches/active_record_migrator_with_advisory_lock_patch'
|
48
|
+
|
49
|
+
ActiveRecord::Migrator.prepend Departure::RailsPatches::ActiveRecordMigratorWithAdvisoryLockPatch
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
# ActiveRecord::ConnectionAdapters::Mysql2Adapter
|
55
|
+
def create_connection_adapter(**config)
|
56
|
+
mysql2_adapter = ActiveRecord::Base.mysql2_connection(config)
|
57
|
+
|
58
|
+
connection_details = Departure::ConnectionDetails.new(config)
|
59
|
+
verbose = ActiveRecord::Migration.verbose
|
60
|
+
sanitizers = [
|
61
|
+
Departure::LogSanitizers::PasswordSanitizer.new(connection_details)
|
62
|
+
]
|
63
|
+
percona_logger = Departure::LoggerFactory.build(sanitizers: sanitizers, verbose: verbose)
|
64
|
+
cli_generator = Departure::CliGenerator.new(connection_details)
|
65
|
+
|
66
|
+
runner = Departure::Runner.new(
|
67
|
+
percona_logger,
|
68
|
+
cli_generator,
|
69
|
+
mysql2_adapter
|
70
|
+
)
|
71
|
+
|
72
|
+
connection_options = { mysql_adapter: mysql2_adapter }
|
73
|
+
|
74
|
+
ActiveRecord::ConnectionAdapters::DepartureAdapter.new(
|
75
|
+
runner,
|
76
|
+
percona_logger,
|
77
|
+
connection_options,
|
78
|
+
config
|
79
|
+
)
|
80
|
+
end
|
81
|
+
|
82
|
+
def sql_column
|
83
|
+
::ActiveRecord::ConnectionAdapters::DepartureAdapter::Column
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
class V7_2_Adapter < BaseAdapter # rubocop:disable Naming/ClassAndModuleCamelCase
|
89
|
+
class << self
|
90
|
+
def register_integrations
|
91
|
+
require 'active_record/connection_adapters/rails_7_2_departure_adapter'
|
92
|
+
require 'departure/rails_patches/active_record_migrator_with_advisory_lock_patch'
|
93
|
+
|
94
|
+
ActiveSupport.on_load(:active_record) do
|
95
|
+
ActiveRecord::Migration.class_eval do
|
96
|
+
include Departure::Migration
|
97
|
+
end
|
98
|
+
|
99
|
+
ActiveRecord::Migrator.prepend Departure::RailsPatches::ActiveRecordMigratorWithAdvisoryLockPatch
|
100
|
+
end
|
101
|
+
|
102
|
+
ActiveRecord::ConnectionAdapters.register 'percona',
|
103
|
+
'ActiveRecord::ConnectionAdapters::Rails72DepartureAdapter',
|
104
|
+
'active_record/connection_adapters/rails_7_2_departure_adapter'
|
105
|
+
end
|
106
|
+
|
107
|
+
def create_connection_adapter(**config)
|
108
|
+
ActiveRecord::ConnectionAdapters::Rails72DepartureAdapter.new(config)
|
109
|
+
end
|
110
|
+
|
111
|
+
def sql_column
|
112
|
+
::ActiveRecord::ConnectionAdapters::Rails72DepartureAdapter::Column
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
class V8_0_Adapter < BaseAdapter # rubocop:disable Naming/ClassAndModuleCamelCase
|
118
|
+
class << self
|
119
|
+
def register_integrations
|
120
|
+
require 'active_record/connection_adapters/rails_8_0_departure_adapter'
|
121
|
+
require 'departure/rails_patches/active_record_migrator_with_advisory_lock_patch'
|
122
|
+
|
123
|
+
ActiveSupport.on_load(:active_record) do
|
124
|
+
ActiveRecord::Migration.class_eval do
|
125
|
+
include Departure::Migration
|
126
|
+
end
|
127
|
+
|
128
|
+
ActiveRecord::Migrator.prepend Departure::RailsPatches::ActiveRecordMigratorWithAdvisoryLockPatch
|
129
|
+
end
|
130
|
+
|
131
|
+
ActiveRecord::ConnectionAdapters.register 'percona',
|
132
|
+
'ActiveRecord::ConnectionAdapters::Rails80DepartureAdapter',
|
133
|
+
'active_record/connection_adapters/rails_8_0_departure_adapter'
|
134
|
+
end
|
135
|
+
|
136
|
+
def create_connection_adapter(**config)
|
137
|
+
ActiveRecord::ConnectionAdapters::Rails80DepartureAdapter.new(config)
|
138
|
+
end
|
139
|
+
|
140
|
+
def sql_column
|
141
|
+
::ActiveRecord::ConnectionAdapters::Rails80DepartureAdapter::Column
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
145
|
+
end
|
146
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Departure
|
2
|
+
module RailsPatches
|
3
|
+
module ActiveRecordMigratorWithAdvisoryLockPatch
|
4
|
+
RELEASE_LOCK_FAILED_MESSAGE = 'Failed to release advisory lock from ActiveRecordMigratorWithAdvisoryLockPatch'
|
5
|
+
.freeze
|
6
|
+
|
7
|
+
def with_advisory_lock
|
8
|
+
return super if Departure.configuration.disable_rails_advisory_lock_patch
|
9
|
+
|
10
|
+
lock_id = generate_migrator_advisory_lock_id
|
11
|
+
@__original_connection = connection
|
12
|
+
|
13
|
+
got_lock = @__original_connection.get_advisory_lock(lock_id)
|
14
|
+
raise ActiveRecord::ConcurrentMigrationError unless got_lock
|
15
|
+
|
16
|
+
load_migrated # reload schema_migrations to be sure it wasn't changed by another process before we got the lock
|
17
|
+
yield
|
18
|
+
ensure
|
19
|
+
if got_lock && !@__original_connection.release_advisory_lock(lock_id)
|
20
|
+
raise ActiveRecord::ConcurrentMigrationError, RELEASE_LOCK_FAILED_MESSAGE
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
data/lib/departure/runner.rb
CHANGED
@@ -4,6 +4,10 @@ module Departure
|
|
4
4
|
# It executes pt-online-schema-change commands in a new process and gets its
|
5
5
|
# output and status
|
6
6
|
class Runner
|
7
|
+
extend Forwardable
|
8
|
+
|
9
|
+
def_delegators :raw_connection, :execute, :escape, :close, :affected_rows
|
10
|
+
|
7
11
|
# Constructor
|
8
12
|
#
|
9
13
|
# @param logger [#say, #write]
|
@@ -14,8 +18,24 @@ module Departure
|
|
14
18
|
@logger = logger
|
15
19
|
@cli_generator = cli_generator
|
16
20
|
@mysql_adapter = mysql_adapter
|
17
|
-
@error_log_path = config
|
18
|
-
@redirect_stderr = config
|
21
|
+
@error_log_path = config&.error_log_path
|
22
|
+
@redirect_stderr = config&.redirect_stderr
|
23
|
+
end
|
24
|
+
|
25
|
+
def query_options
|
26
|
+
raw_connection.query_options
|
27
|
+
end
|
28
|
+
|
29
|
+
def abandon_results!
|
30
|
+
raw_connection.abandon_results!
|
31
|
+
end
|
32
|
+
|
33
|
+
def database_adapter
|
34
|
+
@mysql_adapter
|
35
|
+
end
|
36
|
+
|
37
|
+
def raw_connection
|
38
|
+
database_adapter.raw_connection
|
19
39
|
end
|
20
40
|
|
21
41
|
# Executes the passed sql statement using pt-online-schema-change for ALTER
|
@@ -27,7 +47,7 @@ module Departure
|
|
27
47
|
command_line = cli_generator.parse_statement(sql)
|
28
48
|
execute(command_line)
|
29
49
|
else
|
30
|
-
|
50
|
+
database_adapter.execute(sql)
|
31
51
|
end
|
32
52
|
end
|
33
53
|
|
@@ -36,7 +56,7 @@ module Departure
|
|
36
56
|
#
|
37
57
|
# @return [Integer]
|
38
58
|
def affected_rows
|
39
|
-
|
59
|
+
raw_connection.affected_rows
|
40
60
|
end
|
41
61
|
|
42
62
|
# TODO: rename it so we don't confuse it with AR's #execute
|
data/lib/departure/version.rb
CHANGED
data/lib/departure.rb
CHANGED
@@ -15,17 +15,14 @@ require 'departure/errors'
|
|
15
15
|
require 'departure/command'
|
16
16
|
require 'departure/connection_base'
|
17
17
|
require 'departure/migration'
|
18
|
+
require 'departure/rails_adapter'
|
18
19
|
|
19
20
|
require 'departure/railtie' if defined?(Rails)
|
20
21
|
|
21
22
|
# We need the OS not to buffer the IO to see pt-osc's output while migrating
|
22
23
|
$stdout.sync = true
|
23
24
|
|
24
|
-
|
25
|
-
ActiveRecord::Migration.class_eval do
|
26
|
-
include Departure::Migration
|
27
|
-
end
|
28
|
-
end
|
25
|
+
Departure::RailsAdapter.for_current.register_integrations
|
29
26
|
|
30
27
|
module Departure
|
31
28
|
class << self
|
data/lib/lhm/column_with_sql.rb
CHANGED
@@ -6,13 +6,6 @@ module Lhm
|
|
6
6
|
class ColumnWithSql
|
7
7
|
extend Forwardable
|
8
8
|
|
9
|
-
# Returns the column's class to be used
|
10
|
-
#
|
11
|
-
# @return [Constant]
|
12
|
-
def self.column_factory
|
13
|
-
::ActiveRecord::ConnectionAdapters::DepartureAdapter::Column
|
14
|
-
end
|
15
|
-
|
16
9
|
# Constructor
|
17
10
|
#
|
18
11
|
# @param name [String, Symbol]
|
@@ -59,7 +52,7 @@ module Lhm
|
|
59
52
|
limit: cast_type.limit
|
60
53
|
)
|
61
54
|
mysql_metadata = ActiveRecord::ConnectionAdapters::MySQL::TypeMetadata.new(metadata)
|
62
|
-
@column ||=
|
55
|
+
@column ||= Departure::RailsAdapter.for_current.sql_column.new(
|
63
56
|
name,
|
64
57
|
default_value,
|
65
58
|
mysql_metadata,
|
data/test_database.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'active_record'
|
2
2
|
require 'active_record/connection_adapters/mysql2_adapter'
|
3
|
+
require 'departure'
|
3
4
|
|
4
5
|
# Setups the test database with the schema_migrations table that ActiveRecord
|
5
6
|
# requires for the migrations, plus a table for the Comment model used throught
|
@@ -70,11 +71,6 @@ class TestDatabase
|
|
70
71
|
end
|
71
72
|
|
72
73
|
def conn
|
73
|
-
|
74
|
-
host: @config['hostname'],
|
75
|
-
username: @config['username'],
|
76
|
-
password: @config['password'],
|
77
|
-
reconnect: true
|
78
|
-
)
|
74
|
+
ActiveRecord::Base.connection
|
79
75
|
end
|
80
76
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: departure
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 7.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ilya Zayats
|
@@ -12,10 +12,9 @@ authors:
|
|
12
12
|
- Adrian Serafin
|
13
13
|
- Kirk Haines
|
14
14
|
- Guillermo Iguaran
|
15
|
-
autorequire:
|
16
15
|
bindir: bin
|
17
16
|
cert_chain: []
|
18
|
-
date:
|
17
|
+
date: 2025-08-27 00:00:00.000000000 Z
|
19
18
|
dependencies:
|
20
19
|
- !ruby/object:Gem::Dependency
|
21
20
|
name: railties
|
@@ -23,52 +22,28 @@ dependencies:
|
|
23
22
|
requirements:
|
24
23
|
- - ">="
|
25
24
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
27
|
-
- - "!="
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 7.0.0
|
30
|
-
- - "<"
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: 7.2.0
|
25
|
+
version: 7.0.1
|
33
26
|
type: :runtime
|
34
27
|
prerelease: false
|
35
28
|
version_requirements: !ruby/object:Gem::Requirement
|
36
29
|
requirements:
|
37
30
|
- - ">="
|
38
31
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
40
|
-
- - "!="
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
version: 7.0.0
|
43
|
-
- - "<"
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: 7.2.0
|
32
|
+
version: 7.0.1
|
46
33
|
- !ruby/object:Gem::Dependency
|
47
34
|
name: activerecord
|
48
35
|
requirement: !ruby/object:Gem::Requirement
|
49
36
|
requirements:
|
50
37
|
- - ">="
|
51
38
|
- !ruby/object:Gem::Version
|
52
|
-
version:
|
53
|
-
- - "!="
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
version: 7.0.0
|
56
|
-
- - "<"
|
57
|
-
- !ruby/object:Gem::Version
|
58
|
-
version: 7.2.0
|
39
|
+
version: 7.0.1
|
59
40
|
type: :runtime
|
60
41
|
prerelease: false
|
61
42
|
version_requirements: !ruby/object:Gem::Requirement
|
62
43
|
requirements:
|
63
44
|
- - ">="
|
64
45
|
- !ruby/object:Gem::Version
|
65
|
-
version:
|
66
|
-
- - "!="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: 7.0.0
|
69
|
-
- - "<"
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
version: 7.2.0
|
46
|
+
version: 7.0.1
|
72
47
|
- !ruby/object:Gem::Dependency
|
73
48
|
name: mysql2
|
74
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -211,30 +186,26 @@ files:
|
|
211
186
|
- RELEASING.md
|
212
187
|
- Rakefile
|
213
188
|
- bin/console
|
189
|
+
- bin/rails
|
214
190
|
- bin/rspec
|
215
191
|
- bin/setup
|
216
192
|
- config.yml.erb
|
217
193
|
- configuration.rb
|
218
194
|
- departure.gemspec
|
219
195
|
- docker-compose.yml
|
220
|
-
- gemfiles/rails_6_0.gemfile
|
221
|
-
- gemfiles/rails_6_0.gemfile.lock
|
222
|
-
- gemfiles/rails_6_1.gemfile
|
223
|
-
- gemfiles/rails_6_1.gemfile.lock
|
224
196
|
- gemfiles/rails_7_0.gemfile
|
225
197
|
- gemfiles/rails_7_0.gemfile.lock
|
226
198
|
- gemfiles/rails_7_1.gemfile
|
227
199
|
- gemfiles/rails_7_1.gemfile.lock
|
228
|
-
- gemfiles/
|
229
|
-
- gemfiles/
|
230
|
-
- gemfiles/
|
231
|
-
- gemfiles/
|
232
|
-
- gemfiles/ruby_2.7_rails_7_0.gemfile
|
233
|
-
- gemfiles/ruby_2.7_rails_7_0.gemfile.lock
|
234
|
-
- gemfiles/ruby_2.7_rails_7_1.gemfile
|
235
|
-
- gemfiles/ruby_2.7_rails_7_1.gemfile.lock
|
200
|
+
- gemfiles/rails_7_2.gemfile
|
201
|
+
- gemfiles/rails_7_2.gemfile.lock
|
202
|
+
- gemfiles/rails_8_0.gemfile
|
203
|
+
- gemfiles/rails_8_0.gemfile.lock
|
236
204
|
- lib/active_record/connection_adapters/for_alter.rb
|
205
|
+
- lib/active_record/connection_adapters/patch_connection_handling.rb
|
237
206
|
- lib/active_record/connection_adapters/percona_adapter.rb
|
207
|
+
- lib/active_record/connection_adapters/rails_7_2_departure_adapter.rb
|
208
|
+
- lib/active_record/connection_adapters/rails_8_0_departure_adapter.rb
|
238
209
|
- lib/departure.rb
|
239
210
|
- lib/departure/alter_argument.rb
|
240
211
|
- lib/departure/cli_generator.rb
|
@@ -250,6 +221,8 @@ files:
|
|
250
221
|
- lib/departure/migration.rb
|
251
222
|
- lib/departure/null_logger.rb
|
252
223
|
- lib/departure/option.rb
|
224
|
+
- lib/departure/rails_adapter.rb
|
225
|
+
- lib/departure/rails_patches/active_record_migrator_with_advisory_lock_patch.rb
|
253
226
|
- lib/departure/railtie.rb
|
254
227
|
- lib/departure/runner.rb
|
255
228
|
- lib/departure/user_options.rb
|
@@ -263,7 +236,6 @@ homepage: https://github.com/departurerb/departure
|
|
263
236
|
licenses:
|
264
237
|
- MIT
|
265
238
|
metadata: {}
|
266
|
-
post_install_message:
|
267
239
|
rdoc_options: []
|
268
240
|
require_paths:
|
269
241
|
- lib
|
@@ -271,15 +243,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
271
243
|
requirements:
|
272
244
|
- - ">="
|
273
245
|
- !ruby/object:Gem::Version
|
274
|
-
version: 2.
|
246
|
+
version: 3.2.0
|
275
247
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
276
248
|
requirements:
|
277
249
|
- - ">="
|
278
250
|
- !ruby/object:Gem::Version
|
279
251
|
version: '0'
|
280
252
|
requirements: []
|
281
|
-
rubygems_version: 3.2
|
282
|
-
signing_key:
|
253
|
+
rubygems_version: 3.6.2
|
283
254
|
specification_version: 4
|
284
255
|
summary: pt-online-schema-change runner for ActiveRecord migrations
|
285
256
|
test_files: []
|
@@ -1,238 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: ..
|
3
|
-
specs:
|
4
|
-
departure (6.7.0)
|
5
|
-
activerecord (>= 6.0.0, < 7.2.0, != 7.0.0)
|
6
|
-
mysql2 (>= 0.4.0, < 0.6.0)
|
7
|
-
railties (>= 6.0.0, < 7.2.0, != 7.0.0)
|
8
|
-
|
9
|
-
GEM
|
10
|
-
remote: https://rubygems.org/
|
11
|
-
specs:
|
12
|
-
actioncable (6.0.6.1)
|
13
|
-
actionpack (= 6.0.6.1)
|
14
|
-
nio4r (~> 2.0)
|
15
|
-
websocket-driver (>= 0.6.1)
|
16
|
-
actionmailbox (6.0.6.1)
|
17
|
-
actionpack (= 6.0.6.1)
|
18
|
-
activejob (= 6.0.6.1)
|
19
|
-
activerecord (= 6.0.6.1)
|
20
|
-
activestorage (= 6.0.6.1)
|
21
|
-
activesupport (= 6.0.6.1)
|
22
|
-
mail (>= 2.7.1)
|
23
|
-
actionmailer (6.0.6.1)
|
24
|
-
actionpack (= 6.0.6.1)
|
25
|
-
actionview (= 6.0.6.1)
|
26
|
-
activejob (= 6.0.6.1)
|
27
|
-
mail (~> 2.5, >= 2.5.4)
|
28
|
-
rails-dom-testing (~> 2.0)
|
29
|
-
actionpack (6.0.6.1)
|
30
|
-
actionview (= 6.0.6.1)
|
31
|
-
activesupport (= 6.0.6.1)
|
32
|
-
rack (~> 2.0, >= 2.0.8)
|
33
|
-
rack-test (>= 0.6.3)
|
34
|
-
rails-dom-testing (~> 2.0)
|
35
|
-
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
36
|
-
actiontext (6.0.6.1)
|
37
|
-
actionpack (= 6.0.6.1)
|
38
|
-
activerecord (= 6.0.6.1)
|
39
|
-
activestorage (= 6.0.6.1)
|
40
|
-
activesupport (= 6.0.6.1)
|
41
|
-
nokogiri (>= 1.8.5)
|
42
|
-
actionview (6.0.6.1)
|
43
|
-
activesupport (= 6.0.6.1)
|
44
|
-
builder (~> 3.1)
|
45
|
-
erubi (~> 1.4)
|
46
|
-
rails-dom-testing (~> 2.0)
|
47
|
-
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
48
|
-
activejob (6.0.6.1)
|
49
|
-
activesupport (= 6.0.6.1)
|
50
|
-
globalid (>= 0.3.6)
|
51
|
-
activemodel (6.0.6.1)
|
52
|
-
activesupport (= 6.0.6.1)
|
53
|
-
activerecord (6.0.6.1)
|
54
|
-
activemodel (= 6.0.6.1)
|
55
|
-
activesupport (= 6.0.6.1)
|
56
|
-
activestorage (6.0.6.1)
|
57
|
-
actionpack (= 6.0.6.1)
|
58
|
-
activejob (= 6.0.6.1)
|
59
|
-
activerecord (= 6.0.6.1)
|
60
|
-
marcel (~> 1.0)
|
61
|
-
activesupport (6.0.6.1)
|
62
|
-
concurrent-ruby (~> 1.0, >= 1.0.2)
|
63
|
-
i18n (>= 0.7, < 2)
|
64
|
-
minitest (~> 5.1)
|
65
|
-
tzinfo (~> 1.1)
|
66
|
-
zeitwerk (~> 2.2, >= 2.2.2)
|
67
|
-
appraisal (2.4.1)
|
68
|
-
bundler
|
69
|
-
rake
|
70
|
-
thor (>= 0.14.0)
|
71
|
-
ast (2.4.2)
|
72
|
-
builder (3.2.4)
|
73
|
-
byebug (11.1.3)
|
74
|
-
climate_control (0.0.4)
|
75
|
-
activesupport (>= 3.0)
|
76
|
-
codeclimate-test-reporter (1.0.9)
|
77
|
-
simplecov (<= 0.13)
|
78
|
-
coderay (1.1.3)
|
79
|
-
concurrent-ruby (1.2.3)
|
80
|
-
crass (1.0.6)
|
81
|
-
date (3.3.4)
|
82
|
-
diff-lcs (1.5.1)
|
83
|
-
docile (1.1.5)
|
84
|
-
erubi (1.12.0)
|
85
|
-
globalid (1.1.0)
|
86
|
-
activesupport (>= 5.0)
|
87
|
-
i18n (1.14.1)
|
88
|
-
concurrent-ruby (~> 1.0)
|
89
|
-
json (2.7.1)
|
90
|
-
language_server-protocol (3.17.0.3)
|
91
|
-
loofah (2.22.0)
|
92
|
-
crass (~> 1.0.2)
|
93
|
-
nokogiri (>= 1.12.0)
|
94
|
-
mail (2.8.1)
|
95
|
-
mini_mime (>= 0.1.1)
|
96
|
-
net-imap
|
97
|
-
net-pop
|
98
|
-
net-smtp
|
99
|
-
marcel (1.0.2)
|
100
|
-
method_source (1.0.0)
|
101
|
-
mini_mime (1.1.5)
|
102
|
-
minitest (5.22.2)
|
103
|
-
mysql2 (0.5.6)
|
104
|
-
net-imap (0.4.10)
|
105
|
-
date
|
106
|
-
net-protocol
|
107
|
-
net-pop (0.1.2)
|
108
|
-
net-protocol
|
109
|
-
net-protocol (0.2.2)
|
110
|
-
timeout
|
111
|
-
net-smtp (0.4.0.1)
|
112
|
-
net-protocol
|
113
|
-
nio4r (2.7.0)
|
114
|
-
nokogiri (1.16.2-arm64-darwin)
|
115
|
-
racc (~> 1.4)
|
116
|
-
nokogiri (1.16.2-x86_64-linux)
|
117
|
-
racc (~> 1.4)
|
118
|
-
parallel (1.24.0)
|
119
|
-
parser (3.3.0.5)
|
120
|
-
ast (~> 2.4.1)
|
121
|
-
racc
|
122
|
-
pry (0.14.2)
|
123
|
-
coderay (~> 1.1)
|
124
|
-
method_source (~> 1.0)
|
125
|
-
pry-byebug (3.10.1)
|
126
|
-
byebug (~> 11.0)
|
127
|
-
pry (>= 0.13, < 0.15)
|
128
|
-
racc (1.7.3)
|
129
|
-
rack (2.2.8)
|
130
|
-
rack-test (2.1.0)
|
131
|
-
rack (>= 1.3)
|
132
|
-
rails (6.0.6.1)
|
133
|
-
actioncable (= 6.0.6.1)
|
134
|
-
actionmailbox (= 6.0.6.1)
|
135
|
-
actionmailer (= 6.0.6.1)
|
136
|
-
actionpack (= 6.0.6.1)
|
137
|
-
actiontext (= 6.0.6.1)
|
138
|
-
actionview (= 6.0.6.1)
|
139
|
-
activejob (= 6.0.6.1)
|
140
|
-
activemodel (= 6.0.6.1)
|
141
|
-
activerecord (= 6.0.6.1)
|
142
|
-
activestorage (= 6.0.6.1)
|
143
|
-
activesupport (= 6.0.6.1)
|
144
|
-
bundler (>= 1.3.0)
|
145
|
-
railties (= 6.0.6.1)
|
146
|
-
sprockets-rails (>= 2.0.0)
|
147
|
-
rails-dom-testing (2.2.0)
|
148
|
-
activesupport (>= 5.0.0)
|
149
|
-
minitest
|
150
|
-
nokogiri (>= 1.6)
|
151
|
-
rails-html-sanitizer (1.6.0)
|
152
|
-
loofah (~> 2.21)
|
153
|
-
nokogiri (~> 1.14)
|
154
|
-
railties (6.0.6.1)
|
155
|
-
actionpack (= 6.0.6.1)
|
156
|
-
activesupport (= 6.0.6.1)
|
157
|
-
method_source
|
158
|
-
rake (>= 0.8.7)
|
159
|
-
thor (>= 0.20.3, < 2.0)
|
160
|
-
rainbow (3.1.1)
|
161
|
-
rake (13.1.0)
|
162
|
-
regexp_parser (2.9.0)
|
163
|
-
rexml (3.2.6)
|
164
|
-
rspec (3.13.0)
|
165
|
-
rspec-core (~> 3.13.0)
|
166
|
-
rspec-expectations (~> 3.13.0)
|
167
|
-
rspec-mocks (~> 3.13.0)
|
168
|
-
rspec-core (3.13.0)
|
169
|
-
rspec-support (~> 3.13.0)
|
170
|
-
rspec-expectations (3.13.0)
|
171
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
172
|
-
rspec-support (~> 3.13.0)
|
173
|
-
rspec-its (1.3.0)
|
174
|
-
rspec-core (>= 3.0.0)
|
175
|
-
rspec-expectations (>= 3.0.0)
|
176
|
-
rspec-mocks (3.13.0)
|
177
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
178
|
-
rspec-support (~> 3.13.0)
|
179
|
-
rspec-support (3.13.0)
|
180
|
-
rubocop (1.60.2)
|
181
|
-
json (~> 2.3)
|
182
|
-
language_server-protocol (>= 3.17.0)
|
183
|
-
parallel (~> 1.10)
|
184
|
-
parser (>= 3.3.0.2)
|
185
|
-
rainbow (>= 2.2.2, < 4.0)
|
186
|
-
regexp_parser (>= 1.8, < 3.0)
|
187
|
-
rexml (>= 3.2.5, < 4.0)
|
188
|
-
rubocop-ast (>= 1.30.0, < 2.0)
|
189
|
-
ruby-progressbar (~> 1.7)
|
190
|
-
unicode-display_width (>= 2.4.0, < 3.0)
|
191
|
-
rubocop-ast (1.30.0)
|
192
|
-
parser (>= 3.2.1.0)
|
193
|
-
rubocop-performance (1.20.2)
|
194
|
-
rubocop (>= 1.48.1, < 2.0)
|
195
|
-
rubocop-ast (>= 1.30.0, < 2.0)
|
196
|
-
ruby-progressbar (1.13.0)
|
197
|
-
simplecov (0.13.0)
|
198
|
-
docile (~> 1.1.0)
|
199
|
-
json (>= 1.8, < 3)
|
200
|
-
simplecov-html (~> 0.10.0)
|
201
|
-
simplecov-html (0.10.2)
|
202
|
-
sprockets (4.2.1)
|
203
|
-
concurrent-ruby (~> 1.0)
|
204
|
-
rack (>= 2.2.4, < 4)
|
205
|
-
sprockets-rails (3.4.2)
|
206
|
-
actionpack (>= 5.2)
|
207
|
-
activesupport (>= 5.2)
|
208
|
-
sprockets (>= 3.0.0)
|
209
|
-
thor (1.3.0)
|
210
|
-
thread_safe (0.3.6)
|
211
|
-
timeout (0.4.1)
|
212
|
-
tzinfo (1.2.11)
|
213
|
-
thread_safe (~> 0.1)
|
214
|
-
unicode-display_width (2.5.0)
|
215
|
-
websocket-driver (0.7.6)
|
216
|
-
websocket-extensions (>= 0.1.0)
|
217
|
-
websocket-extensions (0.1.5)
|
218
|
-
zeitwerk (2.6.13)
|
219
|
-
|
220
|
-
PLATFORMS
|
221
|
-
arm64-darwin-23
|
222
|
-
x86_64-linux
|
223
|
-
|
224
|
-
DEPENDENCIES
|
225
|
-
appraisal (~> 2.4.1)
|
226
|
-
climate_control (~> 0.0.3)
|
227
|
-
codeclimate-test-reporter (~> 1.0.3)
|
228
|
-
departure!
|
229
|
-
pry-byebug
|
230
|
-
rails (= 6.0.6.1)
|
231
|
-
rake (>= 10.0)
|
232
|
-
rspec (~> 3.4, >= 3.4.0)
|
233
|
-
rspec-its (~> 1.2)
|
234
|
-
rubocop (~> 1.60.2)
|
235
|
-
rubocop-performance (~> 1.20.2)
|
236
|
-
|
237
|
-
BUNDLED WITH
|
238
|
-
2.4.22
|
data/gemfiles/rails_6_1.gemfile
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
# This file was generated by Appraisal
|
2
|
-
|
3
|
-
source 'https://rubygems.org'
|
4
|
-
|
5
|
-
gem 'codeclimate-test-reporter', '~> 1.0.3', group: :test, require: nil
|
6
|
-
gem 'rails', '6.1.7.6'
|
7
|
-
gem 'rubocop', '~> 1.60.2', require: false
|
8
|
-
gem 'rubocop-performance', '~> 1.20.2', require: false
|
9
|
-
|
10
|
-
gemspec path: '../'
|