database_cleaner-active_record 2.0.1 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0f4e22827466f77ef287a8cfa7cf75078940f69f4e3b222676d7cb30d74edb74
4
- data.tar.gz: 942936724f8ef0e4a0107044aef35b203e6e8d23c1a6d241d452342eb1d8ae17
3
+ metadata.gz: 85e54fe3fd85573506fd946df28f0ba19101ca6d854317ea38596e42d7d3e2c8
4
+ data.tar.gz: 746f002f2a5b7fe97b39550db8d5ac945cc9e7d0ae46a04aafd2001eb214a226
5
5
  SHA512:
6
- metadata.gz: 8116e18c0f97636ab92457c6025ef7978547aba2553c747e8120b7ac528fe583f6f1cc76cbc78385c2a26fa6a6a348d37c95c5440186404259a4d50b39200b9d
7
- data.tar.gz: e847363c1be911931358c9b1cb3f09717e302b2e89aa609ce366baa1ec6664fbf3935b4c52b6785cfac25f36794992a118edc9846774a485e26fa7aeaa27896e
6
+ metadata.gz: e823f4e8874d3369dcbce8f3e626cacac42cca7270544a91afda9b8bda3927577c1c85e50d57bf3ec21bce8c7443c65a845c364e404c04a8b3983678cb2e3bfd
7
+ data.tar.gz: 538b0e24fc2ff9f1756defdac05ce7290e3c2d24bd42f3d6f59c0001364976a183b42fafba7c847c1113f31265889b79614ab00da4c793abcc12d85bea9d4070
@@ -0,0 +1,87 @@
1
+ name: Tests
2
+
3
+ on: [push, pull_request]
4
+
5
+ jobs:
6
+ test:
7
+ name: 'Ruby: ${{ matrix.ruby }}, Rails: ${{ matrix.rails }}, Channel: ${{ matrix.channel }}'
8
+ runs-on: 'ubuntu-22.04'
9
+ strategy:
10
+ fail-fast: false
11
+ matrix:
12
+ ruby: ['3.3', '3.2', '3.1']
13
+ rails: ['6.1', '7.0', '7.1', '7.2']
14
+ channel: ['stable']
15
+
16
+ include:
17
+ - ruby: 'ruby-head'
18
+ rails: 'edge'
19
+ channel: 'experimental'
20
+ - ruby: 'ruby-head'
21
+ rails: '7.2'
22
+ channel: 'experimental'
23
+ - ruby: 'ruby-head'
24
+ rails: '7.1'
25
+ channel: 'experimental'
26
+
27
+ - ruby: '3.3'
28
+ rails: 'edge'
29
+ channel: 'experimental'
30
+ - ruby: '3.2'
31
+ rails: 'edge'
32
+ channel: 'experimental'
33
+ - ruby: '3.1'
34
+ rails: 'edge'
35
+ channel: 'experimental'
36
+
37
+ exclude:
38
+ - ruby: '3.3'
39
+ rails: '7.0' # TODO: works on 7-0-stable branch, remove after a 7.0.x patch release
40
+ - ruby: '3.3'
41
+ rails: '6.1'
42
+
43
+ - ruby: '3.2'
44
+ rails: '6.1'
45
+
46
+ continue-on-error: ${{ matrix.channel != 'stable' }}
47
+
48
+ env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
49
+ BUNDLE_GEMFILE: gemfiles/rails_${{ matrix.rails }}.gemfile
50
+ steps:
51
+ - uses: actions/checkout@v4
52
+ - name: Set up Ruby ${{ matrix.ruby }}
53
+ uses: ruby/setup-ruby@v1
54
+ with:
55
+ ruby-version: ${{ matrix.ruby }}
56
+ bundler-cache: true # 'bundle install' and cache
57
+ rubygems: ${{ matrix.ruby == '2.5' && 'default' || 'latest' }}
58
+ - name: Copy config file
59
+ run: cp spec/support/sample.config.yml spec/support/config.yml
60
+ - name: Run tests
61
+ run: bundle exec rake
62
+
63
+ services:
64
+ mysql:
65
+ image: mysql:5.7
66
+ env:
67
+ MYSQL_ALLOW_EMPTY_PASSWORD: yes
68
+ ports:
69
+ - 3306:3306
70
+ options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
71
+
72
+ postgres:
73
+ # Docker Hub image
74
+ image: postgres
75
+ # Provide the password for postgres
76
+ env:
77
+ POSTGRES_USER: postgres
78
+ POSTGRES_PASSWORD: postgres
79
+ ports:
80
+ - 5432:5432
81
+ # Set health checks to wait until postgres has started
82
+ options: >-
83
+ --health-cmd pg_isready
84
+ --health-interval 10s
85
+ --health-timeout 5s
86
+ --health-retries 5
87
+
data/Appraisals CHANGED
@@ -1,15 +1,35 @@
1
1
  appraise "rails-5.1" do
2
- gem "rails", "~>5.1.0"
2
+ gem "rails", "~> 5.1.0"
3
3
  end
4
4
 
5
5
  appraise "rails-5.2" do
6
- gem "rails", "~>5.2.0"
6
+ gem "rails", "~> 5.2.0"
7
7
  end
8
8
 
9
9
  appraise "rails-6.0" do
10
- gem "rails", "~>6.0.0"
10
+ gem "rails", "~> 6.0.0"
11
+ gem "sqlite3", "~> 1.5"
11
12
  end
12
13
 
13
14
  appraise "rails-6.1" do
14
- gem "rails", "~>6.1.0"
15
+ gem "rails", "~> 6.1.0"
16
+ gem "sqlite3", "~> 1.5"
17
+ end
18
+
19
+ appraise "rails-7.0" do
20
+ gem "rails", "~> 7.0.0"
21
+ gem "sqlite3", "~> 1.7"
22
+ end
23
+
24
+ appraise "rails-7.1" do
25
+ gem "rails", "~> 7.1.0"
26
+ gem "sqlite3", "~> 1.7" # FIXME: remove after rails/rails#51592
27
+ end
28
+
29
+ appraise "rails-7.2" do
30
+ gem "rails", "~> 7.2.0.beta2"
31
+ end
32
+
33
+ appraise "rails-edge" do
34
+ gem "rails", github: "rails/rails"
15
35
  end
data/CHANGELOG.md ADDED
@@ -0,0 +1,22 @@
1
+ # Development (unreleased)
2
+
3
+ ## v2.2.0 2024-07-12
4
+
5
+ * Fix "ERROR: currval of sequence" in Postgres adapter: https://github.com/DatabaseCleaner/database_cleaner-active_record/pull/103
6
+ * Use lock synchronize on transaction callback: https://github.com/DatabaseCleaner/database_cleaner-active_record/pull/73
7
+ * Stop testing with EOLed Ruby & Rails versions: https://github.com/DatabaseCleaner/database_cleaner-active_record/pull/105
8
+ * Fix compatibility issue with Rails 7.2: https://github.com/DatabaseCleaner/database_cleaner-active_record/pull/107
9
+ * Fix typo in truncation methods: https://github.com/DatabaseCleaner/database_cleaner-active_record/pull/94/files
10
+ * Address deprecation of ActiveRecord::Base.connection in Rails 7.2: https://github.com/DatabaseCleaner/database_cleaner-active_record/pull/102
11
+ * Support Rails 7.2+: https://github.com/DatabaseCleaner/database_cleaner-active_record/pull/101
12
+ * Fix reset_ids test with Trilogy adapter: https://github.com/DatabaseCleaner/database_cleaner-active_record/pull/93
13
+ * Implement resetting ids for deletion strategy: https://github.com/DatabaseCleaner/database_cleaner-active_record/pull/71
14
+ * Avoid loading ActiveRecord::Base early: https://github.com/DatabaseCleaner/database_cleaner-active_record/pull/91
15
+ * Fix specs to account for trilogy: https://github.com/DatabaseCleaner/database_cleaner-active_record/pull/88
16
+ * Add basic support for trilogy: https://github.com/DatabaseCleaner/database_cleaner-active_record/pull/85
17
+
18
+ ## v2.1.0 2023-02-17
19
+
20
+ * Add Ruby 3.2 to CI matrix: https://github.com/DatabaseCleaner/database_cleaner-active_record/pull/79
21
+ * Add Rails 7.1 support: https://github.com/DatabaseCleaner/database_cleaner-active_record/pull/78
22
+ * Add WHERE clause to make `ruby-spanner-activerecord` happy: https://github.com/DatabaseCleaner/database_cleaner-active_record/pull/77
data/Gemfile CHANGED
@@ -5,7 +5,6 @@ gemspec
5
5
  gem "database_cleaner-core", git: "https://github.com/DatabaseCleaner/database_cleaner"
6
6
 
7
7
  gem "rails", "~>5.2"
8
- gem "byebug"
9
8
 
10
9
  group :test do
11
10
  gem "simplecov", require: false
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Database Cleaner Adapter for ActiveRecord
2
2
 
3
- [![Build Status](https://travis-ci.org/DatabaseCleaner/database_cleaner-active_record.svg?branch=master)](https://travis-ci.org/DatabaseCleaner/database_cleaner-active_record)
3
+ [![Tests](https://github.com/DatabaseCleaner/database_cleaner-active_record/actions/workflows/ci.yml/badge.svg)](https://github.com/DatabaseCleaner/database_cleaner-active_record/actions/workflows/ci.yml)
4
4
  [![Code Climate](https://codeclimate.com/github/DatabaseCleaner/database_cleaner-active_record/badges/gpa.svg)](https://codeclimate.com/github/DatabaseCleaner/database_cleaner-active_record)
5
5
  [![codecov](https://codecov.io/gh/DatabaseCleaner/database_cleaner-active_record/branch/master/graph/badge.svg)](https://codecov.io/gh/DatabaseCleaner/database_cleaner-active_record)
6
6
 
@@ -8,7 +8,7 @@ Clean your ActiveRecord databases with Database Cleaner.
8
8
 
9
9
  See https://github.com/DatabaseCleaner/database_cleaner for more information.
10
10
 
11
- For support or to discuss development please use the [Google Group](https://groups.google.com/group/database_cleaner).
11
+ For support or to discuss development please use GitHub Issues.
12
12
 
13
13
  ## Installation
14
14
 
@@ -51,16 +51,18 @@ The truncation and deletion strategies may accept the following options:
51
51
 
52
52
  ```ruby
53
53
  # Only truncate the "users" table.
54
- DatabaseCleaner[:active_record].strategy = :truncation, only: ["users"]
54
+ DatabaseCleaner[:active_record].strategy = DatabaseCleaner::ActiveRecord::Truncation.new(only: ["users"])
55
55
 
56
56
  # Delete all tables except the "users" table.
57
- DatabaseCleaner[:active_record].strategy = :deletion, except: ["users"]
57
+ DatabaseCleaner[:active_record].strategy = DatabaseCleaner::ActiveRecord::Deletion.new(except: ["users"])
58
58
  ```
59
59
 
60
60
  * `:pre_count` - When set to `true` this will check each table for existing rows before truncating or deleting it. This can speed up test suites when many of the tables are never populated. Defaults to `false`. (Also, see the section on [What strategy is fastest?](#what-strategy-is-fastest))
61
61
 
62
62
  * `:cache_tables` - When set to `true` the list of tables to truncate or delete from will only be read from the DB once, otherwise it will be read before each cleanup run. Set this to `false` if (1) you create and drop tables in your tests, or (2) you change Postgres schemas (`ActiveRecord::Base.connection.schema_search_path`) in your tests (for example, in a multitenancy setup with each tenant in a different Postgres schema). Defaults to `true`.
63
63
 
64
+ * `:reset_ids` - Only valid for deletion strategy, when set to `true` resets ids to 1 after each table is cleaned.
65
+
64
66
  ## Adapter configuration options
65
67
 
66
68
  `#db` defaults to the default ActiveRecord database, but can be specified manually in a few ways:
@@ -95,7 +97,7 @@ You can also add this parameter to your database.yml file:
95
97
  test:
96
98
  adapter: postgresql
97
99
  # ...
98
- min_messages: WARNING
100
+ min_messages: WARNING
99
101
  </pre>
100
102
 
101
103
  ## COPYRIGHT
@@ -15,7 +15,7 @@ Gem::Specification.new do |spec|
15
15
  f.match(%r{^(test|spec|features)/})
16
16
  end
17
17
  spec.bindir = "exe"
18
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
18
+ spec.executables = []
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_dependency "database_cleaner-core", "~>2.0.0"
@@ -28,4 +28,5 @@ Gem::Specification.new do |spec|
28
28
  spec.add_development_dependency "mysql2"
29
29
  spec.add_development_dependency "pg"
30
30
  spec.add_development_dependency "sqlite3"
31
+ spec.add_development_dependency "trilogy"
31
32
  end
@@ -3,8 +3,8 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "database_cleaner-core", git: "https://github.com/DatabaseCleaner/database_cleaner"
6
- gem "rails", "~>6.1.0"
7
- gem "byebug"
6
+ gem "rails", "~> 6.1.0"
7
+ gem "sqlite3", "~> 1.5"
8
8
 
9
9
  group :test do
10
10
  gem "simplecov", require: false
@@ -3,8 +3,8 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "database_cleaner-core", git: "https://github.com/DatabaseCleaner/database_cleaner"
6
- gem "rails", "~>6.0.0"
7
- gem "byebug"
6
+ gem "rails", "~> 7.0.0"
7
+ gem "sqlite3", "~> 1.7"
8
8
 
9
9
  group :test do
10
10
  gem "simplecov", require: false
@@ -0,0 +1,14 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "database_cleaner-core", git: "https://github.com/DatabaseCleaner/database_cleaner"
6
+ gem "rails", "~> 7.1.0"
7
+ gem "sqlite3", "~> 1.7"
8
+
9
+ group :test do
10
+ gem "simplecov", require: false
11
+ gem "codecov", require: false
12
+ end
13
+
14
+ gemspec path: "../"
@@ -3,8 +3,7 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "database_cleaner-core", git: "https://github.com/DatabaseCleaner/database_cleaner"
6
- gem "rails", "~>5.1.0"
7
- gem "byebug"
6
+ gem "rails", "~> 7.2.0.beta2"
8
7
 
9
8
  group :test do
10
9
  gem "simplecov", require: false
@@ -3,8 +3,7 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "database_cleaner-core", git: "https://github.com/DatabaseCleaner/database_cleaner"
6
- gem "rails", "~>5.2.0"
7
- gem "byebug"
6
+ gem "rails", github: "rails/rails"
8
7
 
9
8
  group :test do
10
9
  gem "simplecov", require: false
@@ -15,7 +15,13 @@ module DatabaseCleaner
15
15
 
16
16
  class Base < DatabaseCleaner::Strategy
17
17
  def self.migration_table_name
18
- ::ActiveRecord::SchemaMigration.table_name
18
+ if ::ActiveRecord::Base.connection_pool.respond_to?(:schema_migration) # Rails >= 7.2
19
+ ::ActiveRecord::Base.connection_pool.schema_migration.table_name
20
+ elsif ::ActiveRecord::Base.connection.respond_to?(:schema_migration) # Rails >= 6.0
21
+ ::ActiveRecord::Base.connection.schema_migration.table_name
22
+ else
23
+ ::ActiveRecord::SchemaMigration.table_name
24
+ end
19
25
  end
20
26
 
21
27
  def self.exclusion_condition(column_name)
@@ -46,7 +52,12 @@ module DatabaseCleaner
46
52
 
47
53
  def load_config
48
54
  if db != :default && db.is_a?(Symbol) && File.file?(DatabaseCleaner::ActiveRecord.config_file_location)
49
- connection_details = YAML::load(ERB.new(IO.read(DatabaseCleaner::ActiveRecord.config_file_location)).result)
55
+ connection_details =
56
+ if RUBY_VERSION.match?(/\A2\.5/)
57
+ YAML.safe_load(ERB.new(IO.read(DatabaseCleaner::ActiveRecord.config_file_location)).result, [], [], true)
58
+ else
59
+ YAML.safe_load(ERB.new(IO.read(DatabaseCleaner::ActiveRecord.config_file_location)).result, aliases: true)
60
+ end
50
61
  @connection_hash = valid_config(connection_details, db.to_s)
51
62
  end
52
63
  end
@@ -7,9 +7,9 @@ module DatabaseCleaner
7
7
  def clean
8
8
  connection.disable_referential_integrity do
9
9
  if pre_count? && connection.respond_to?(:pre_count_tables)
10
- delete_tables(connection, connection.pre_count_tables(tables_to_truncate(connection)))
10
+ delete_tables(connection, connection.pre_count_tables(tables_to_clean(connection)))
11
11
  else
12
- delete_tables(connection, tables_to_truncate(connection))
12
+ delete_tables(connection, tables_to_clean(connection))
13
13
  end
14
14
  end
15
15
  end
@@ -19,14 +19,28 @@ module DatabaseCleaner
19
19
  def delete_tables(connection, table_names)
20
20
  table_names.each do |table_name|
21
21
  delete_table(connection, table_name)
22
+ reset_id_sequence(connection, table_name) if @reset_ids
22
23
  end
23
24
  end
24
25
 
25
26
  def delete_table connection, table_name
26
- connection.execute("DELETE FROM #{connection.quote_table_name(table_name)}")
27
+ connection.execute("DELETE FROM #{connection.quote_table_name(table_name)} WHERE 1=1")
27
28
  end
28
29
 
29
- def tables_to_truncate(connection)
30
+ def reset_id_sequence connection, table_name
31
+ case connection.adapter_name
32
+ when 'Mysql2', 'Trilogy'
33
+ connection.execute("ALTER TABLE #{table_name} AUTO_INCREMENT = 1;")
34
+ when 'SQLite'
35
+ connection.execute("delete from sqlite_sequence where name='#{table_name}';")
36
+ when 'PostgreSQL'
37
+ connection.reset_pk_sequence!(table_name)
38
+ else
39
+ raise "reset_id option not supported for #{connection.adapter_name}"
40
+ end
41
+ end
42
+
43
+ def tables_to_clean(connection)
30
44
  if information_schema_exists?(connection)
31
45
  @except += connection.database_cleaner_view_cache + migration_storage_names
32
46
  (@only.any? ? @only : tables_with_new_rows(connection)) - @except
@@ -64,7 +78,7 @@ module DatabaseCleaner
64
78
  end
65
79
 
66
80
  def information_schema_exists? connection
67
- connection.adapter_name == "Mysql2"
81
+ ["Mysql2", "Trilogy"].include?(connection.adapter_name)
68
82
  end
69
83
  end
70
84
  end
@@ -4,17 +4,25 @@ module DatabaseCleaner
4
4
  module ActiveRecord
5
5
  class Transaction < Base
6
6
  def start
7
+ connection = if ::ActiveRecord.version >= Gem::Version.new("7.2")
8
+ connection_class.lease_connection
9
+ else
10
+ connection_class.connection
11
+ end
12
+
7
13
  # Hack to make sure that the connection is properly set up before cleaning
8
- connection_class.connection.transaction {}
14
+ connection.transaction {}
9
15
 
10
- connection_class.connection.begin_transaction joinable: false
16
+ connection.begin_transaction joinable: false
11
17
  end
12
18
 
13
19
 
14
20
  def clean
15
21
  connection_class.connection_pool.connections.each do |connection|
16
- next unless connection.open_transactions > 0
17
- connection.rollback_transaction
22
+ connection.lock.synchronize do
23
+ next unless connection.open_transactions > 0
24
+ connection.rollback_transaction
25
+ end
18
26
  end
19
27
  end
20
28
  end
@@ -1,18 +1,18 @@
1
1
  require "delegate"
2
- require 'active_record/base'
3
2
  require 'database_cleaner/active_record/base'
4
3
 
5
4
  module DatabaseCleaner
6
5
  module ActiveRecord
7
6
  class Truncation < Base
8
7
  def initialize(opts={})
9
- if !opts.empty? && !(opts.keys - [:only, :except, :pre_count, :cache_tables]).empty?
10
- raise ArgumentError, "The only valid options are :only, :except, :pre_count, and :cache_tables. You specified #{opts.keys.join(',')}."
8
+ if !opts.empty? && !(opts.keys - [:only, :except, :pre_count, :cache_tables, :reset_ids]).empty?
9
+ raise ArgumentError, "The only valid options are :only, :except, :pre_count, :reset_ids, and :cache_tables. You specified #{opts.keys.join(',')}."
11
10
  end
12
11
 
13
12
  @only = Array(opts[:only]).dup
14
13
  @except = Array(opts[:except]).dup
15
14
 
15
+ @reset_ids = opts[:reset_ids]
16
16
  @pre_count = opts[:pre_count]
17
17
  @cache_tables = opts.has_key?(:cache_tables) ? !!opts[:cache_tables] : true
18
18
  end
@@ -20,9 +20,9 @@ module DatabaseCleaner
20
20
  def clean
21
21
  connection.disable_referential_integrity do
22
22
  if pre_count? && connection.respond_to?(:pre_count_truncate_tables)
23
- connection.pre_count_truncate_tables(tables_to_truncate(connection))
23
+ connection.pre_count_truncate_tables(tables_to_clean(connection))
24
24
  else
25
- connection.truncate_tables(tables_to_truncate(connection))
25
+ connection.truncate_tables(tables_to_clean(connection))
26
26
  end
27
27
  end
28
28
  end
@@ -30,10 +30,16 @@ module DatabaseCleaner
30
30
  private
31
31
 
32
32
  def connection
33
- @connection ||= ConnectionWrapper.new(connection_class.connection)
33
+ @connection ||= ConnectionWrapper.new(
34
+ if ::ActiveRecord.version >= Gem::Version.new("7.2")
35
+ connection_class.lease_connection
36
+ else
37
+ connection_class.connection
38
+ end
39
+ )
34
40
  end
35
41
 
36
- def tables_to_truncate(connection)
42
+ def tables_to_clean(connection)
37
43
  if @only.none?
38
44
  all_tables = cache_tables? ? connection.database_cleaner_table_cache : connection.database_tables
39
45
  @only = all_tables.map { |table| table.split(".").last }
@@ -62,7 +68,7 @@ module DatabaseCleaner
62
68
  def initialize(connection)
63
69
  extend AbstractAdapter
64
70
  case connection.adapter_name
65
- when "Mysql2"
71
+ when "Mysql2", "Trilogy"
66
72
  extend AbstractMysqlAdapter
67
73
  when "SQLite"
68
74
  extend AbstractMysqlAdapter
@@ -218,7 +224,7 @@ module DatabaseCleaner
218
224
  def has_been_used?(table)
219
225
  return has_rows?(table) unless has_sequence?(table)
220
226
 
221
- cur_val = select_value("SELECT currval('#{table}_id_seq');").to_i rescue 0
227
+ cur_val = select_value("SELECT last_value from #{table}_id_seq;").to_i
222
228
  cur_val > 0
223
229
  end
224
230
 
@@ -246,4 +252,3 @@ module DatabaseCleaner
246
252
  private_constant :ConnectionWrapper
247
253
  end
248
254
  end
249
-
@@ -1,5 +1,5 @@
1
1
  module DatabaseCleaner
2
2
  module ActiveRecord
3
- VERSION = "2.0.1"
3
+ VERSION = "2.2.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: database_cleaner-active_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ernesto Tagwerker
8
8
  - Micah Geisel
9
- autorequire:
9
+ autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2021-05-08 00:00:00.000000000 Z
12
+ date: 2024-07-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: database_cleaner-core
@@ -137,6 +137,20 @@ dependencies:
137
137
  - - ">="
138
138
  - !ruby/object:Gem::Version
139
139
  version: '0'
140
+ - !ruby/object:Gem::Dependency
141
+ name: trilogy
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
140
154
  description: Strategies for cleaning databases using ActiveRecord. Can be used to
141
155
  ensure a clean state for testing.
142
156
  email:
@@ -145,10 +159,11 @@ executables: []
145
159
  extensions: []
146
160
  extra_rdoc_files: []
147
161
  files:
162
+ - ".github/workflows/ci.yml"
148
163
  - ".gitignore"
149
164
  - ".rspec"
150
- - ".travis.yml"
151
165
  - Appraisals
166
+ - CHANGELOG.md
152
167
  - Gemfile
153
168
  - LICENSE.txt
154
169
  - README.md
@@ -157,10 +172,11 @@ files:
157
172
  - bin/setup
158
173
  - database_cleaner-active_record.gemspec
159
174
  - gemfiles/.bundle/config
160
- - gemfiles/rails_5.1.gemfile
161
- - gemfiles/rails_5.2.gemfile
162
- - gemfiles/rails_6.0.gemfile
163
175
  - gemfiles/rails_6.1.gemfile
176
+ - gemfiles/rails_7.0.gemfile
177
+ - gemfiles/rails_7.1.gemfile
178
+ - gemfiles/rails_7.2.gemfile
179
+ - gemfiles/rails_edge.gemfile
164
180
  - lib/database_cleaner-active_record.rb
165
181
  - lib/database_cleaner/active_record.rb
166
182
  - lib/database_cleaner/active_record/base.rb
@@ -173,7 +189,7 @@ homepage: https://github.com/DatabaseCleaner/database_cleaner-active_record
173
189
  licenses:
174
190
  - MIT
175
191
  metadata: {}
176
- post_install_message:
192
+ post_install_message:
177
193
  rdoc_options: []
178
194
  require_paths:
179
195
  - lib
@@ -188,8 +204,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
188
204
  - !ruby/object:Gem::Version
189
205
  version: '0'
190
206
  requirements: []
191
- rubygems_version: 3.1.4
192
- signing_key:
207
+ rubygems_version: 3.5.10
208
+ signing_key:
193
209
  specification_version: 4
194
210
  summary: Strategies for cleaning databases using ActiveRecord. Can be used to ensure
195
211
  a clean state for testing.
data/.travis.yml DELETED
@@ -1,25 +0,0 @@
1
- language: ruby
2
- services:
3
- - mysql
4
- - postgresql
5
- rvm:
6
- - 2.5
7
- - 2.6
8
- - 2.7
9
- - 3.0
10
- gemfile:
11
- - gemfiles/rails_5.1.gemfile
12
- - gemfiles/rails_5.2.gemfile
13
- - gemfiles/rails_6.0.gemfile
14
- - gemfiles/rails_6.1.gemfile
15
- jobs:
16
- exclude: # Unsupported combos: https://www.fastruby.io/blog/ruby/rails/versions/compatibility-table.html
17
- - rvm: 3.0
18
- gemfiles/rails_5.1.gemfile
19
- - rvm: 3.0
20
- gemfiles/rails_5.2.gemfile
21
-
22
- before_install:
23
- - bin/setup
24
- cache:
25
- bundler: true