data_migrate 9.2.0 → 10.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +3 -2
  3. data/.github/workflows/gempush.yml +8 -6
  4. data/.gitignore +2 -3
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +14 -0
  7. data/Appraisals +5 -5
  8. data/Changelog.md +2 -33
  9. data/README.md +5 -7
  10. data/data_migrate.gemspec +1 -1
  11. data/gemfiles/{rails_7.1.gemfile → rails_6.0.gemfile} +1 -1
  12. data/gemfiles/rails_6.1.gemfile +1 -1
  13. data/lib/data_migrate/data_migrator.rb +23 -11
  14. data/lib/data_migrate/data_schema.rb +2 -2
  15. data/lib/data_migrate/data_schema_migration.rb +7 -24
  16. data/lib/data_migrate/database_tasks.rb +5 -28
  17. data/lib/data_migrate/legacy_migrator.rb +22 -0
  18. data/lib/data_migrate/migration_context.rb +8 -11
  19. data/lib/data_migrate/schema_dumper.rb +1 -1
  20. data/lib/data_migrate/schema_migration.rb +4 -5
  21. data/lib/data_migrate/status_service.rb +4 -4
  22. data/lib/data_migrate/tasks/data_migrate_tasks.rb +15 -14
  23. data/lib/data_migrate/version.rb +1 -1
  24. data/lib/data_migrate.rb +1 -1
  25. data/spec/data_migrate/data_migrator_spec.rb +14 -17
  26. data/spec/data_migrate/data_schema_migration_spec.rb +8 -25
  27. data/spec/data_migrate/data_spec.rb +1 -1
  28. data/spec/data_migrate/database_tasks_spec.rb +19 -34
  29. data/spec/data_migrate/legacy_migrator_spec.rb +38 -0
  30. data/spec/data_migrate/migration_context_spec.rb +8 -15
  31. data/spec/data_migrate/schema_dumper_spec.rb +3 -6
  32. data/spec/data_migrate/schema_migration_spec.rb +6 -13
  33. data/spec/data_migrate/status_service_spec.rb +4 -7
  34. data/spec/data_migrate/tasks/data_migrate_tasks_spec.rb +14 -13
  35. data/spec/db/data/20091231235959_some_name.rb +1 -1
  36. data/spec/db/data/20171231235959_super_update.rb +1 -1
  37. data/spec/db/migrate/20131111111111_late_migration.rb +1 -1
  38. data/spec/db/migrate/20202020202011_db_migration.rb +1 -1
  39. data/tasks/databases.rake +38 -17
  40. metadata +14 -15
  41. data/Gemfile.lock +0 -148
  42. data/gemfiles/rails_6.1.gemfile.lock +0 -227
  43. data/gemfiles/rails_7.0.gemfile.lock +0 -229
  44. data/gemfiles/rails_7.1.gemfile.lock +0 -262
  45. data/lib/data_migrate/rails_helper.rb +0 -79
data/tasks/databases.rake CHANGED
@@ -6,7 +6,10 @@ namespace :db do
6
6
  namespace :migrate do
7
7
  desc "Migrate the database data and schema (options: VERSION=x, VERBOSE=false)."
8
8
  task :with_data => :environment do
9
- DataMigrate::DataMigrator.create_data_schema_table
9
+ original_db_config = ActiveRecord::Base.connection_db_config
10
+ ActiveRecord::Base.configurations.configs_for(env_name: ActiveRecord::Tasks::DatabaseTasks.env).each do |db_config|
11
+ ActiveRecord::Base.establish_connection(db_config)
12
+ DataMigrate::DataMigrator.assure_data_schema_table
10
13
 
11
14
  ActiveRecord::Migration.verbose = ENV["VERBOSE"] ? ENV["VERBOSE"] == "true" : true
12
15
  target_version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
@@ -50,15 +53,18 @@ namespace :db do
50
53
  migrations.each do |migration|
51
54
  DataMigrate::DatabaseTasks.run_migration(migration, migration[:direction])
52
55
  end
56
+ end
53
57
 
54
58
  Rake::Task["db:_dump"].invoke
55
59
  Rake::Task["data:dump"].invoke
60
+ ensure
61
+ ActiveRecord::Base.establish_connection(original_db_config)
56
62
  end
57
63
 
58
64
  namespace :redo do
59
65
  desc 'Rollbacks the database one migration and re migrate up (options: STEP=x, VERSION=x).'
60
66
  task :with_data => :environment do
61
- DataMigrate::DataMigrator.create_data_schema_table
67
+ DataMigrate::DataMigrator.assure_data_schema_table
62
68
  if ENV["VERSION"]
63
69
  Rake::Task["db:migrate:down:with_data"].invoke
64
70
  Rake::Task["db:migrate:up:with_data"].invoke
@@ -74,7 +80,7 @@ namespace :db do
74
80
  task :with_data => :environment do
75
81
  version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
76
82
  raise "VERSION is required" unless version
77
- DataMigrate::DataMigrator.create_data_schema_table
83
+ DataMigrate::DataMigrator.assure_data_schema_table
78
84
  run_both = ENV["BOTH"] == "true"
79
85
  migrations = DataMigrate::DatabaseTasks.pending_migrations.keep_if{|m| m[:version] == version}
80
86
 
@@ -96,7 +102,7 @@ namespace :db do
96
102
  task :with_data => :environment do
97
103
  version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
98
104
  raise "VERSION is required" unless version
99
- DataMigrate::DataMigrator.create_data_schema_table
105
+ DataMigrate::DataMigrator.assure_data_schema_table
100
106
  run_both = ENV["BOTH"] == "true"
101
107
  migrations = DataMigrate::DatabaseTasks.past_migrations.keep_if{|m| m[:version] == version}
102
108
 
@@ -116,7 +122,10 @@ namespace :db do
116
122
  namespace :status do
117
123
  desc "Display status of data and schema migrations"
118
124
  task :with_data => :environment do
119
- DataMigrate::Tasks::DataMigrateTasks.status_with_schema
125
+ ActiveRecord::Base.configurations.configs_for(env_name: ActiveRecord::Tasks::DatabaseTasks.env).each do |db_config|
126
+ ActiveRecord::Base.establish_connection(db_config)
127
+ DataMigrate::Tasks::DataMigrateTasks.status_with_schema(db_config)
128
+ end
120
129
  end
121
130
  end
122
131
  end # END OF MIGRATE NAME SPACE
@@ -125,7 +134,7 @@ namespace :db do
125
134
  desc 'Rolls the schema back to the previous version (specify steps w/ STEP=n).'
126
135
  task :with_data => :environment do
127
136
  step = ENV['STEP'] ? ENV['STEP'].to_i : 1
128
- DataMigrate::DataMigrator.create_data_schema_table
137
+ DataMigrate::DataMigrator.assure_data_schema_table
129
138
  DataMigrate::DatabaseTasks.past_migrations[0..(step - 1)].each do | past_migration |
130
139
  DataMigrate::DatabaseTasks.run_migration(past_migration, :down)
131
140
  end
@@ -138,7 +147,7 @@ namespace :db do
138
147
  namespace :forward do
139
148
  desc 'Pushes the schema to the next version (specify steps w/ STEP=n).'
140
149
  task :with_data => :environment do
141
- DataMigrate::DataMigrator.create_data_schema_table
150
+ DataMigrate::DataMigrator.assure_data_schema_table
142
151
  step = ENV['STEP'] ? ENV['STEP'].to_i : 1
143
152
  DataMigrate::DatabaseTasks.forward(step)
144
153
  Rake::Task["db:_dump"].invoke
@@ -149,7 +158,7 @@ namespace :db do
149
158
  namespace :version do
150
159
  desc "Retrieves the current schema version numbers for data and schema migrations"
151
160
  task :with_data => :environment do
152
- DataMigrate::DataMigrator.create_data_schema_table
161
+ DataMigrate::DataMigrator.assure_data_schema_table
153
162
  puts "Current Schema version: #{ActiveRecord::Migrator.current_version}"
154
163
  puts "Current Data version: #{DataMigrate::DataMigrator.current_version}"
155
164
  end
@@ -195,14 +204,20 @@ end
195
204
  namespace :data do
196
205
  desc 'Migrate data migrations (options: VERSION=x, VERBOSE=false)'
197
206
  task :migrate => :environment do
198
- DataMigrate::Tasks::DataMigrateTasks.migrate
207
+ original_db_config = ActiveRecord::Base.connection_db_config
208
+ ActiveRecord::Base.configurations.configs_for(env_name: ActiveRecord::Tasks::DatabaseTasks.env).each do |db_config|
209
+ ActiveRecord::Base.establish_connection(db_config)
210
+ DataMigrate::Tasks::DataMigrateTasks.migrate
211
+ end
199
212
  Rake::Task["data:dump"].invoke
213
+ ensure
214
+ ActiveRecord::Base.establish_connection(original_db_config)
200
215
  end
201
216
 
202
217
  namespace :migrate do
203
218
  desc 'Rollbacks the database one migration and re migrate up (options: STEP=x, VERSION=x).'
204
219
  task :redo => :environment do
205
- DataMigrate::DataMigrator.create_data_schema_table
220
+ DataMigrate::DataMigrator.assure_data_schema_table
206
221
  if ENV["VERSION"]
207
222
  Rake::Task["data:migrate:down"].invoke
208
223
  Rake::Task["data:migrate:up"].invoke
@@ -214,7 +229,7 @@ namespace :data do
214
229
 
215
230
  desc 'Runs the "up" for a given migration VERSION.'
216
231
  task :up => :environment do
217
- DataMigrate::DataMigrator.create_data_schema_table
232
+ DataMigrate::DataMigrator.assure_data_schema_table
218
233
  version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
219
234
  raise "VERSION is required" unless version
220
235
  DataMigrate::DataMigrator.run(:up, DataMigrate::DatabaseTasks.data_migrations_path, version)
@@ -225,20 +240,23 @@ namespace :data do
225
240
  task :down => :environment do
226
241
  version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
227
242
  raise "VERSION is required" unless version
228
- DataMigrate::DataMigrator.create_data_schema_table
243
+ DataMigrate::DataMigrator.assure_data_schema_table
229
244
  DataMigrate::DataMigrator.run(:down, DataMigrate::DatabaseTasks.data_migrations_path, version)
230
245
  Rake::Task["data:dump"].invoke
231
246
  end
232
247
 
233
248
  desc "Display status of data migrations"
234
249
  task :status => :environment do
235
- DataMigrate::Tasks::DataMigrateTasks.status
250
+ ActiveRecord::Base.configurations.configs_for(env_name: ActiveRecord::Tasks::DatabaseTasks.env).each do |db_config|
251
+ ActiveRecord::Base.establish_connection(db_config)
252
+ DataMigrate::Tasks::DataMigrateTasks.status(db_config)
253
+ end
236
254
  end
237
255
  end
238
256
 
239
257
  desc 'Rolls the schema back to the previous version (specify steps w/ STEP=n).'
240
258
  task :rollback => :environment do
241
- DataMigrate::DataMigrator.create_data_schema_table
259
+ DataMigrate::DataMigrator.assure_data_schema_table
242
260
  step = ENV['STEP'] ? ENV['STEP'].to_i : 1
243
261
  DataMigrate::DataMigrator.rollback(DataMigrate::DatabaseTasks.data_migrations_path, step)
244
262
  Rake::Task["data:dump"].invoke
@@ -246,7 +264,7 @@ namespace :data do
246
264
 
247
265
  desc 'Pushes the schema to the next version (specify steps w/ STEP=n).'
248
266
  task :forward => :environment do
249
- DataMigrate::DataMigrator.create_data_schema_table
267
+ DataMigrate::DataMigrator.assure_data_schema_table
250
268
  step = ENV['STEP'] ? ENV['STEP'].to_i : 1
251
269
  # TODO: No worky for .forward
252
270
  # DataMigrate::DataMigrator.forward('db/data/', step)
@@ -259,7 +277,7 @@ namespace :data do
259
277
 
260
278
  desc "Retrieves the current schema version number for data migrations"
261
279
  task :version => :environment do
262
- DataMigrate::DataMigrator.create_data_schema_table
280
+ DataMigrate::DataMigrator.assure_data_schema_table
263
281
  puts "Current data version: #{DataMigrate::DataMigrator.current_version}"
264
282
  end
265
283
 
@@ -271,7 +289,10 @@ namespace :data do
271
289
 
272
290
  desc "Create a db/data_schema.rb file that stores the current data version"
273
291
  task dump: :environment do
274
- DataMigrate::Tasks::DataMigrateTasks.dump
292
+ ActiveRecord::Base.configurations.configs_for(env_name: ActiveRecord::Tasks::DatabaseTasks.env).each do |db_config|
293
+ ActiveRecord::Base.establish_connection(db_config)
294
+ DataMigrate::Tasks::DataMigrateTasks.dump(db_config)
295
+ end
275
296
 
276
297
  # Allow this task to be called as many times as required. An example
277
298
  # is the migrate:redo task, which calls other two internally
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: data_migrate
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.2.0
4
+ version: 10.0.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew J Vargo
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-10-05 00:00:00.000000000 Z
13
+ date: 2023-04-23 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activerecord
@@ -18,28 +18,28 @@ dependencies:
18
18
  requirements:
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: '6.1'
21
+ version: '6.0'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: '6.1'
28
+ version: '6.0'
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: railties
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - ">="
34
34
  - !ruby/object:Gem::Version
35
- version: '6.1'
35
+ version: '6.0'
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - ">="
41
41
  - !ruby/object:Gem::Version
42
- version: '6.1'
42
+ version: '6.0'
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: appraisal
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -198,21 +198,19 @@ files:
198
198
  - ".rspec"
199
199
  - ".rubocop.yml"
200
200
  - ".ruby-style.yml"
201
+ - ".ruby-version"
202
+ - ".travis.yml"
201
203
  - Appraisals
202
204
  - Changelog.md
203
205
  - Gemfile
204
- - Gemfile.lock
205
206
  - Gemfile.rails6.1
206
207
  - LICENSE
207
208
  - README.md
208
209
  - Rakefile
209
210
  - data_migrate.gemspec
211
+ - gemfiles/rails_6.0.gemfile
210
212
  - gemfiles/rails_6.1.gemfile
211
- - gemfiles/rails_6.1.gemfile.lock
212
213
  - gemfiles/rails_7.0.gemfile
213
- - gemfiles/rails_7.0.gemfile.lock
214
- - gemfiles/rails_7.1.gemfile
215
- - gemfiles/rails_7.1.gemfile.lock
216
214
  - lib/capistrano/data_migrate.rb
217
215
  - lib/capistrano/data_migrate/migrate.rb
218
216
  - lib/data_migrate.rb
@@ -221,8 +219,8 @@ files:
221
219
  - lib/data_migrate/data_schema.rb
222
220
  - lib/data_migrate/data_schema_migration.rb
223
221
  - lib/data_migrate/database_tasks.rb
222
+ - lib/data_migrate/legacy_migrator.rb
224
223
  - lib/data_migrate/migration_context.rb
225
- - lib/data_migrate/rails_helper.rb
226
224
  - lib/data_migrate/railtie.rb
227
225
  - lib/data_migrate/schema_dumper.rb
228
226
  - lib/data_migrate/schema_migration.rb
@@ -239,6 +237,7 @@ files:
239
237
  - spec/data_migrate/data_schema_migration_spec.rb
240
238
  - spec/data_migrate/data_spec.rb
241
239
  - spec/data_migrate/database_tasks_spec.rb
240
+ - spec/data_migrate/legacy_migrator_spec.rb
242
241
  - spec/data_migrate/migration.rb
243
242
  - spec/data_migrate/migration_context_spec.rb
244
243
  - spec/data_migrate/schema_dumper_spec.rb
@@ -273,11 +272,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
273
272
  version: '0'
274
273
  required_rubygems_version: !ruby/object:Gem::Requirement
275
274
  requirements:
276
- - - ">="
275
+ - - ">"
277
276
  - !ruby/object:Gem::Version
278
- version: '0'
277
+ version: 1.3.1
279
278
  requirements: []
280
- rubygems_version: 3.4.10
279
+ rubygems_version: 3.3.26
281
280
  signing_key:
282
281
  specification_version: 4
283
282
  summary: Rake tasks to migrate data alongside schema changes.
data/Gemfile.lock DELETED
@@ -1,148 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- data_migrate (9.2.0)
5
- activerecord (>= 6.1)
6
- railties (>= 6.1)
7
-
8
- GEM
9
- remote: http://rubygems.org/
10
- specs:
11
- actionpack (7.0.7.2)
12
- actionview (= 7.0.7.2)
13
- activesupport (= 7.0.7.2)
14
- rack (~> 2.0, >= 2.2.4)
15
- rack-test (>= 0.6.3)
16
- rails-dom-testing (~> 2.0)
17
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
18
- actionview (7.0.7.2)
19
- activesupport (= 7.0.7.2)
20
- builder (~> 3.1)
21
- erubi (~> 1.4)
22
- rails-dom-testing (~> 2.0)
23
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
24
- activemodel (7.0.7.2)
25
- activesupport (= 7.0.7.2)
26
- activerecord (7.0.7.2)
27
- activemodel (= 7.0.7.2)
28
- activesupport (= 7.0.7.2)
29
- activesupport (7.0.7.2)
30
- concurrent-ruby (~> 1.0, >= 1.0.2)
31
- i18n (>= 1.6, < 2)
32
- minitest (>= 5.1)
33
- tzinfo (~> 2.0)
34
- appraisal (2.5.0)
35
- bundler
36
- rake
37
- thor (>= 0.14.0)
38
- ast (2.4.2)
39
- builder (3.2.4)
40
- childprocess (4.1.0)
41
- coderay (1.1.3)
42
- concurrent-ruby (1.2.2)
43
- crass (1.0.6)
44
- diff-lcs (1.5.0)
45
- erubi (1.12.0)
46
- i18n (1.14.1)
47
- concurrent-ruby (~> 1.0)
48
- iniparse (1.5.0)
49
- json (2.6.3)
50
- language_server-protocol (3.17.0.3)
51
- loofah (2.21.3)
52
- crass (~> 1.0.2)
53
- nokogiri (>= 1.12.0)
54
- method_source (1.0.0)
55
- minitest (5.19.0)
56
- nokogiri (1.15.3-arm64-darwin)
57
- racc (~> 1.4)
58
- nokogiri (1.15.3-x86_64-linux)
59
- racc (~> 1.4)
60
- overcommit (0.60.0)
61
- childprocess (>= 0.6.3, < 5)
62
- iniparse (~> 1.4)
63
- rexml (~> 3.2)
64
- parallel (1.23.0)
65
- parser (3.2.2.3)
66
- ast (~> 2.4.1)
67
- racc
68
- pry (0.14.2)
69
- coderay (~> 1.1)
70
- method_source (~> 1.0)
71
- racc (1.7.1)
72
- rack (2.2.7)
73
- rack-test (2.1.0)
74
- rack (>= 1.3)
75
- rails-dom-testing (2.1.1)
76
- activesupport (>= 5.0.0)
77
- minitest
78
- nokogiri (>= 1.6)
79
- rails-html-sanitizer (1.6.0)
80
- loofah (~> 2.21)
81
- nokogiri (~> 1.14)
82
- railties (7.0.7.2)
83
- actionpack (= 7.0.7.2)
84
- activesupport (= 7.0.7.2)
85
- method_source
86
- rake (>= 12.2)
87
- thor (~> 1.0)
88
- zeitwerk (~> 2.5)
89
- rainbow (3.1.1)
90
- rake (13.0.6)
91
- rb-readline (0.5.5)
92
- regexp_parser (2.8.1)
93
- rexml (3.2.5)
94
- rspec (3.12.0)
95
- rspec-core (~> 3.12.0)
96
- rspec-expectations (~> 3.12.0)
97
- rspec-mocks (~> 3.12.0)
98
- rspec-core (3.12.2)
99
- rspec-support (~> 3.12.0)
100
- rspec-expectations (3.12.3)
101
- diff-lcs (>= 1.2.0, < 2.0)
102
- rspec-support (~> 3.12.0)
103
- rspec-mocks (3.12.6)
104
- diff-lcs (>= 1.2.0, < 2.0)
105
- rspec-support (~> 3.12.0)
106
- rspec-support (3.12.1)
107
- rubocop (1.54.2)
108
- json (~> 2.3)
109
- language_server-protocol (>= 3.17.0)
110
- parallel (~> 1.10)
111
- parser (>= 3.2.2.3)
112
- rainbow (>= 2.2.2, < 4.0)
113
- regexp_parser (>= 1.8, < 3.0)
114
- rexml (>= 3.2.5, < 4.0)
115
- rubocop-ast (>= 1.28.0, < 2.0)
116
- ruby-progressbar (~> 1.7)
117
- unicode-display_width (>= 2.4.0, < 3.0)
118
- rubocop-ast (1.29.0)
119
- parser (>= 3.2.1.0)
120
- ruby-progressbar (1.13.0)
121
- sqlite3 (1.6.3-arm64-darwin)
122
- sqlite3 (1.6.3-x86_64-linux)
123
- thor (1.2.2)
124
- timecop (0.9.6)
125
- tzinfo (2.0.6)
126
- concurrent-ruby (~> 1.0)
127
- unicode-display_width (2.4.2)
128
- zeitwerk (2.6.8)
129
-
130
- PLATFORMS
131
- arm64-darwin-22
132
- x86_64-linux
133
-
134
- DEPENDENCIES
135
- appraisal
136
- data_migrate!
137
- overcommit
138
- pry
139
- rake
140
- rb-readline
141
- rspec
142
- rspec-core
143
- rubocop
144
- sqlite3 (~> 1.4)
145
- timecop
146
-
147
- BUNDLED WITH
148
- 2.4.17
@@ -1,227 +0,0 @@
1
- PATH
2
- remote: ..
3
- specs:
4
- data_migrate (9.2.0)
5
- activerecord (>= 6.1)
6
- railties (>= 6.1)
7
-
8
- GEM
9
- remote: http://rubygems.org/
10
- specs:
11
- actioncable (6.1.7.3)
12
- actionpack (= 6.1.7.3)
13
- activesupport (= 6.1.7.3)
14
- nio4r (~> 2.0)
15
- websocket-driver (>= 0.6.1)
16
- actionmailbox (6.1.7.3)
17
- actionpack (= 6.1.7.3)
18
- activejob (= 6.1.7.3)
19
- activerecord (= 6.1.7.3)
20
- activestorage (= 6.1.7.3)
21
- activesupport (= 6.1.7.3)
22
- mail (>= 2.7.1)
23
- actionmailer (6.1.7.3)
24
- actionpack (= 6.1.7.3)
25
- actionview (= 6.1.7.3)
26
- activejob (= 6.1.7.3)
27
- activesupport (= 6.1.7.3)
28
- mail (~> 2.5, >= 2.5.4)
29
- rails-dom-testing (~> 2.0)
30
- actionpack (6.1.7.3)
31
- actionview (= 6.1.7.3)
32
- activesupport (= 6.1.7.3)
33
- rack (~> 2.0, >= 2.0.9)
34
- rack-test (>= 0.6.3)
35
- rails-dom-testing (~> 2.0)
36
- rails-html-sanitizer (~> 1.0, >= 1.2.0)
37
- actiontext (6.1.7.3)
38
- actionpack (= 6.1.7.3)
39
- activerecord (= 6.1.7.3)
40
- activestorage (= 6.1.7.3)
41
- activesupport (= 6.1.7.3)
42
- nokogiri (>= 1.8.5)
43
- actionview (6.1.7.3)
44
- activesupport (= 6.1.7.3)
45
- builder (~> 3.1)
46
- erubi (~> 1.4)
47
- rails-dom-testing (~> 2.0)
48
- rails-html-sanitizer (~> 1.1, >= 1.2.0)
49
- activejob (6.1.7.3)
50
- activesupport (= 6.1.7.3)
51
- globalid (>= 0.3.6)
52
- activemodel (6.1.7.3)
53
- activesupport (= 6.1.7.3)
54
- activerecord (6.1.7.3)
55
- activemodel (= 6.1.7.3)
56
- activesupport (= 6.1.7.3)
57
- activestorage (6.1.7.3)
58
- actionpack (= 6.1.7.3)
59
- activejob (= 6.1.7.3)
60
- activerecord (= 6.1.7.3)
61
- activesupport (= 6.1.7.3)
62
- marcel (~> 1.0)
63
- mini_mime (>= 1.1.0)
64
- activesupport (6.1.7.3)
65
- concurrent-ruby (~> 1.0, >= 1.0.2)
66
- i18n (>= 1.6, < 2)
67
- minitest (>= 5.1)
68
- tzinfo (~> 2.0)
69
- zeitwerk (~> 2.3)
70
- appraisal (2.4.1)
71
- bundler
72
- rake
73
- thor (>= 0.14.0)
74
- ast (2.4.2)
75
- builder (3.2.4)
76
- childprocess (4.1.0)
77
- coderay (1.1.3)
78
- concurrent-ruby (1.2.2)
79
- crass (1.0.6)
80
- date (3.3.3)
81
- diff-lcs (1.5.0)
82
- erubi (1.12.0)
83
- globalid (1.1.0)
84
- activesupport (>= 5.0)
85
- i18n (1.14.1)
86
- concurrent-ruby (~> 1.0)
87
- iniparse (1.5.0)
88
- json (2.6.3)
89
- loofah (2.21.3)
90
- crass (~> 1.0.2)
91
- nokogiri (>= 1.12.0)
92
- mail (2.8.1)
93
- mini_mime (>= 0.1.1)
94
- net-imap
95
- net-pop
96
- net-smtp
97
- marcel (1.0.2)
98
- method_source (1.0.0)
99
- mini_mime (1.1.2)
100
- minitest (5.18.1)
101
- net-imap (0.3.4)
102
- date
103
- net-protocol
104
- net-pop (0.1.2)
105
- net-protocol
106
- net-protocol (0.2.1)
107
- timeout
108
- net-smtp (0.3.3)
109
- net-protocol
110
- nio4r (2.5.9)
111
- nokogiri (1.15.2-arm64-darwin)
112
- racc (~> 1.4)
113
- nokogiri (1.15.2-x86_64-linux)
114
- racc (~> 1.4)
115
- overcommit (0.60.0)
116
- childprocess (>= 0.6.3, < 5)
117
- iniparse (~> 1.4)
118
- rexml (~> 3.2)
119
- parallel (1.23.0)
120
- parser (3.2.2.3)
121
- ast (~> 2.4.1)
122
- racc
123
- pry (0.14.2)
124
- coderay (~> 1.1)
125
- method_source (~> 1.0)
126
- racc (1.7.1)
127
- rack (2.2.7)
128
- rack-test (2.1.0)
129
- rack (>= 1.3)
130
- rails (6.1.7.3)
131
- actioncable (= 6.1.7.3)
132
- actionmailbox (= 6.1.7.3)
133
- actionmailer (= 6.1.7.3)
134
- actionpack (= 6.1.7.3)
135
- actiontext (= 6.1.7.3)
136
- actionview (= 6.1.7.3)
137
- activejob (= 6.1.7.3)
138
- activemodel (= 6.1.7.3)
139
- activerecord (= 6.1.7.3)
140
- activestorage (= 6.1.7.3)
141
- activesupport (= 6.1.7.3)
142
- bundler (>= 1.15.0)
143
- railties (= 6.1.7.3)
144
- sprockets-rails (>= 2.0.0)
145
- rails-dom-testing (2.0.3)
146
- activesupport (>= 4.2.0)
147
- nokogiri (>= 1.6)
148
- rails-html-sanitizer (1.6.0)
149
- loofah (~> 2.21)
150
- nokogiri (~> 1.14)
151
- railties (6.1.7.3)
152
- actionpack (= 6.1.7.3)
153
- activesupport (= 6.1.7.3)
154
- method_source
155
- rake (>= 12.2)
156
- thor (~> 1.0)
157
- rainbow (3.1.1)
158
- rake (13.0.6)
159
- rb-readline (0.5.5)
160
- regexp_parser (2.8.1)
161
- rexml (3.2.5)
162
- rspec (3.12.0)
163
- rspec-core (~> 3.12.0)
164
- rspec-expectations (~> 3.12.0)
165
- rspec-mocks (~> 3.12.0)
166
- rspec-core (3.12.2)
167
- rspec-support (~> 3.12.0)
168
- rspec-expectations (3.12.3)
169
- diff-lcs (>= 1.2.0, < 2.0)
170
- rspec-support (~> 3.12.0)
171
- rspec-mocks (3.12.5)
172
- diff-lcs (>= 1.2.0, < 2.0)
173
- rspec-support (~> 3.12.0)
174
- rspec-support (3.12.0)
175
- rubocop (1.52.1)
176
- json (~> 2.3)
177
- parallel (~> 1.10)
178
- parser (>= 3.2.2.3)
179
- rainbow (>= 2.2.2, < 4.0)
180
- regexp_parser (>= 1.8, < 3.0)
181
- rexml (>= 3.2.5, < 4.0)
182
- rubocop-ast (>= 1.28.0, < 2.0)
183
- ruby-progressbar (~> 1.7)
184
- unicode-display_width (>= 2.4.0, < 3.0)
185
- rubocop-ast (1.29.0)
186
- parser (>= 3.2.1.0)
187
- ruby-progressbar (1.13.0)
188
- sprockets (4.2.0)
189
- concurrent-ruby (~> 1.0)
190
- rack (>= 2.2.4, < 4)
191
- sprockets-rails (3.4.2)
192
- actionpack (>= 5.2)
193
- activesupport (>= 5.2)
194
- sprockets (>= 3.0.0)
195
- sqlite3 (1.6.3-arm64-darwin)
196
- sqlite3 (1.6.3-x86_64-linux)
197
- thor (1.2.2)
198
- timecop (0.9.6)
199
- timeout (0.3.2)
200
- tzinfo (2.0.6)
201
- concurrent-ruby (~> 1.0)
202
- unicode-display_width (2.4.2)
203
- websocket-driver (0.7.5)
204
- websocket-extensions (>= 0.1.0)
205
- websocket-extensions (0.1.5)
206
- zeitwerk (2.6.8)
207
-
208
- PLATFORMS
209
- arm64-darwin-22
210
- x86_64-linux
211
-
212
- DEPENDENCIES
213
- appraisal
214
- data_migrate!
215
- overcommit
216
- pry
217
- rails (~> 6.1.0)
218
- rake
219
- rb-readline
220
- rspec
221
- rspec-core
222
- rubocop
223
- sqlite3 (~> 1.4)
224
- timecop
225
-
226
- BUNDLED WITH
227
- 2.4.14