database_cleaner-active_record 2.0.1 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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