database_rewinder 0.8.3 → 0.9.4
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/.travis.yml +42 -19
- data/Gemfile +1 -0
- data/README.md +1 -1
- data/Rakefile +1 -0
- data/database_rewinder.gemspec +3 -2
- data/gemfiles/rails_40.gemfile +1 -0
- data/gemfiles/rails_41.gemfile +1 -0
- data/gemfiles/rails_42.gemfile +2 -0
- data/gemfiles/rails_50.gemfile +1 -0
- data/gemfiles/rails_51.gemfile +2 -0
- data/gemfiles/rails_52.gemfile +6 -0
- data/gemfiles/rails_60.gemfile +6 -0
- data/gemfiles/rails_edge.gemfile +1 -1
- data/lib/database_rewinder.rb +20 -8
- data/lib/database_rewinder/active_record_monkey.rb +11 -3
- data/lib/database_rewinder/cleaner.rb +1 -0
- data/lib/database_rewinder/compatibility.rb +4 -3
- data/lib/database_rewinder/dummy_model.rb +1 -0
- data/lib/database_rewinder/multiple_statements_executor.rb +1 -0
- data/lib/database_rewinder/railtie.rb +3 -0
- data/test/active_record_monkey_test.rb +1 -0
- data/test/cleaner_test.rb +1 -0
- data/test/config/database.yml +11 -12
- data/test/database_rewinder_test.rb +33 -1
- data/test/fake_app.rb +13 -12
- data/test/test_helper.rb +5 -0
- metadata +9 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f79ac7f52a4377e3b0991fc87a7e0ae0fe50cfc5af519a009d5470e6d8d7e5e3
|
4
|
+
data.tar.gz: 1fc00b427798e7bb7a573bd13818da4b8a41abe99182b1da7cebc92d938db931
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 65a551ce2bbe957514861dd56e0e4f758ea4f0c93e7ca6052efb24b2033b68c200228253dfafe6f9737214edaf870087c48300d15be854849f7a5a6d0c797a0d
|
7
|
+
data.tar.gz: 841d80ce6639746df70f78b728b5498a117e4f7cfca84e4e8de7de4bc1c2c393f5cfb60c4827e9b551d9a49bd67ecbc30ecf27ad4042cd38d457c23a09e7614c
|
data/.travis.yml
CHANGED
@@ -1,41 +1,64 @@
|
|
1
1
|
language: ruby
|
2
2
|
|
3
|
+
addons:
|
4
|
+
postgresql: '9.4'
|
5
|
+
mysql: '5.7'
|
6
|
+
|
3
7
|
before_install:
|
4
|
-
|
5
|
-
- gem
|
8
|
+
# install older versions of rubygems and bundler only on Ruby < 2.7
|
9
|
+
- if [ `echo "${TRAVIS_RUBY_VERSION:0:3} < 2.7" | bc` == 1 ]; then gem i rubygems-update -v '<3' && update_rubygems; fi;
|
10
|
+
- if [ `echo "${TRAVIS_RUBY_VERSION:0:3} < 2.7" | bc` == 1 ]; then gem i bundler -v '<2'; fi;
|
11
|
+
- sudo service mysql restart
|
12
|
+
|
6
13
|
|
7
14
|
cache: bundler
|
8
15
|
|
9
16
|
env:
|
10
|
-
|
11
|
-
|
12
|
-
|
17
|
+
matrix:
|
18
|
+
- DB=sqlite3
|
19
|
+
- DB=mysql
|
20
|
+
- DB=postgresql
|
13
21
|
|
14
22
|
rvm:
|
15
|
-
- 2.
|
16
|
-
- 2.4.3
|
17
|
-
- 2.3.6
|
18
|
-
- 2.2.9
|
23
|
+
- 2.6.3
|
19
24
|
|
20
25
|
gemfile:
|
21
|
-
- gemfiles/
|
22
|
-
- gemfiles/
|
23
|
-
- gemfiles/rails_42.gemfile
|
24
|
-
- gemfiles/rails_edge.gemfile
|
26
|
+
- gemfiles/rails_52.gemfile
|
27
|
+
- gemfiles/rails_60.gemfile
|
25
28
|
|
26
29
|
sudo: false
|
27
30
|
|
31
|
+
dist: xenial
|
32
|
+
|
28
33
|
matrix:
|
29
34
|
include:
|
30
|
-
- rvm: 2.
|
35
|
+
- rvm: 2.7.1
|
36
|
+
gemfile: gemfiles/rails_60.gemfile
|
37
|
+
env: DB=postgresql
|
38
|
+
- rvm: 2.6.3
|
39
|
+
gemfile: gemfiles/rails_edge.gemfile
|
40
|
+
env: DB=postgresql
|
41
|
+
- rvm: 2.5.5
|
42
|
+
gemfile: gemfiles/rails_51.gemfile
|
43
|
+
env: DB=postgresql
|
44
|
+
- rvm: 2.4.6
|
45
|
+
gemfile: gemfiles/rails_50.gemfile
|
46
|
+
env: DB=postgresql
|
47
|
+
- rvm: 2.3.8
|
31
48
|
gemfile: gemfiles/rails_41.gemfile
|
32
|
-
env: DB=
|
33
|
-
- rvm: 2.3.
|
49
|
+
env: DB=postgresql
|
50
|
+
- rvm: 2.3.8
|
34
51
|
gemfile: gemfiles/rails_40.gemfile
|
35
|
-
env: DB=
|
52
|
+
env: DB=postgresql
|
53
|
+
- rvm: 2.2.10
|
54
|
+
gemfile: gemfiles/rails_52.gemfile
|
55
|
+
env: DB=postgresql
|
36
56
|
- rvm: 2.1.10
|
37
57
|
gemfile: gemfiles/rails_42.gemfile
|
38
|
-
env: DB=
|
58
|
+
env: DB=postgresql
|
39
59
|
- rvm: 2.0.0
|
40
60
|
gemfile: gemfiles/rails_42.gemfile
|
41
|
-
env: DB=
|
61
|
+
env: DB=postgresql
|
62
|
+
|
63
|
+
allow_failures:
|
64
|
+
- gemfile: gemfiles/rails_edge.gemfile
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -23,7 +23,7 @@ This strategy was originally devised and implemented by Shingo Morita (@eudoxa)
|
|
23
23
|
|
24
24
|
## Supported versions
|
25
25
|
|
26
|
-
* ActiveRecord 4.0, 4.1, 4.2, 5.0, 5.1, 5.2 (edge)
|
26
|
+
* ActiveRecord 4.0, 4.1, 4.2, 5.0, 5.1, 5.2, 6.0 (edge)
|
27
27
|
|
28
28
|
* Ruby 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6 (trunk)
|
29
29
|
|
data/Rakefile
CHANGED
data/database_rewinder.gemspec
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
# frozen_string_literal: true
|
3
|
+
|
3
4
|
lib = File.expand_path('../lib', __FILE__)
|
4
5
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
6
|
|
6
7
|
Gem::Specification.new do |spec|
|
7
8
|
spec.name = "database_rewinder"
|
8
|
-
spec.version = '0.
|
9
|
+
spec.version = '0.9.4'
|
9
10
|
spec.authors = ["Akira Matsuda"]
|
10
11
|
spec.email = ["ronnie@dio.jp"]
|
11
12
|
spec.description = "A minimalist's tiny and ultra-fast database cleaner"
|
@@ -18,7 +19,7 @@ Gem::Specification.new do |spec|
|
|
18
19
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
20
|
spec.require_paths = ["lib"]
|
20
21
|
|
21
|
-
spec.add_development_dependency
|
22
|
+
spec.add_development_dependency 'bundler'
|
22
23
|
spec.add_development_dependency "rake"
|
23
24
|
spec.add_development_dependency 'test-unit-rails'
|
24
25
|
spec.add_development_dependency 'rails'
|
data/gemfiles/rails_40.gemfile
CHANGED
data/gemfiles/rails_41.gemfile
CHANGED
data/gemfiles/rails_42.gemfile
CHANGED
data/gemfiles/rails_50.gemfile
CHANGED
data/gemfiles/rails_51.gemfile
CHANGED
data/gemfiles/rails_edge.gemfile
CHANGED
data/lib/database_rewinder.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require_relative 'database_rewinder/cleaner'
|
3
2
|
|
4
3
|
module DatabaseRewinder
|
5
4
|
VERSION = Gem.loaded_specs['database_rewinder'].version.to_s
|
@@ -48,13 +47,15 @@ module DatabaseRewinder
|
|
48
47
|
end
|
49
48
|
end or return
|
50
49
|
|
51
|
-
|
52
|
-
|
50
|
+
sql.split(';').each do |statement|
|
51
|
+
match = statement.match(/\A\s*INSERT(?:\s+IGNORE)?(?:\s+INTO)?\s+(?:\.*[`"]?([^.\s`"(]+)[`"]?)*/i)
|
52
|
+
next unless match
|
53
53
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
54
|
+
table = match[1]
|
55
|
+
if table
|
56
|
+
cleaner.inserted_tables << table unless cleaner.inserted_tables.include? table
|
57
|
+
cleaner.pool ||= connection.pool
|
58
|
+
end
|
58
59
|
end
|
59
60
|
end
|
60
61
|
|
@@ -72,7 +73,7 @@ module DatabaseRewinder
|
|
72
73
|
|
73
74
|
# cache AR connection.tables
|
74
75
|
def all_table_names(connection)
|
75
|
-
cache_key = connection.pool
|
76
|
+
cache_key = get_cache_key(connection.pool)
|
76
77
|
#NOTE connection.tables warns on AR 5 with some adapters
|
77
78
|
tables = ActiveSupport::Deprecation.silence { connection.tables }
|
78
79
|
@table_names_cache[cache_key] ||= tables.reject do |t|
|
@@ -80,7 +81,17 @@ module DatabaseRewinder
|
|
80
81
|
(ActiveRecord::Base.respond_to?(:internal_metadata_table_name) && (t == ActiveRecord::Base.internal_metadata_table_name))
|
81
82
|
end
|
82
83
|
end
|
84
|
+
|
85
|
+
def get_cache_key(connection_pool)
|
86
|
+
if connection_pool.respond_to?(:db_config) # ActiveRecord >= 6.1
|
87
|
+
connection_pool.db_config.config
|
88
|
+
else
|
89
|
+
connection_pool.spec.config
|
90
|
+
end
|
91
|
+
end
|
83
92
|
end
|
93
|
+
|
94
|
+
private_class_method :get_cache_key
|
84
95
|
end
|
85
96
|
|
86
97
|
begin
|
@@ -89,4 +100,5 @@ begin
|
|
89
100
|
rescue LoadError
|
90
101
|
DatabaseRewinder.init
|
91
102
|
require_relative 'database_rewinder/active_record_monkey'
|
103
|
+
require_relative 'database_rewinder/cleaner'
|
92
104
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module DatabaseRewinder
|
3
4
|
module InsertRecorder
|
4
5
|
def execute(sql, *)
|
@@ -6,9 +7,16 @@ module DatabaseRewinder
|
|
6
7
|
super
|
7
8
|
end
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
|
10
|
+
if ActiveRecord::VERSION::MAJOR < 5
|
11
|
+
def exec_query(sql, *)
|
12
|
+
DatabaseRewinder.record_inserted_table self, sql
|
13
|
+
super
|
14
|
+
end
|
15
|
+
else
|
16
|
+
def exec_query(sql, *, **)
|
17
|
+
DatabaseRewinder.record_inserted_table self, sql
|
18
|
+
super
|
19
|
+
end
|
12
20
|
end
|
13
21
|
end
|
14
22
|
end
|
@@ -1,8 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module DatabaseRewinder
|
3
4
|
module Compatibility
|
4
|
-
def clean_with(*args)
|
5
|
-
cleaners.each {|c| c.clean_with(*args)}
|
5
|
+
def clean_with(*args, **opts)
|
6
|
+
cleaners.each {|c| c.clean_with(*args, **opts)}
|
6
7
|
end
|
7
8
|
|
8
9
|
def cleaning
|
@@ -35,7 +36,7 @@ module DatabaseRewinder
|
|
35
36
|
# DatabaseRewinder[:active_record, connection: 'the_db_name']
|
36
37
|
#
|
37
38
|
# You can cleanup multiple databases for each test using this configuration.
|
38
|
-
def [](orm, connection: nil, **)
|
39
|
+
def [](orm = nil, connection: nil, **)
|
39
40
|
if connection.nil?
|
40
41
|
if orm.is_a? String
|
41
42
|
connection = orm
|
@@ -1,10 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
module DatabaseRewinder
|
3
4
|
class Railtie < ::Rails::Railtie
|
4
5
|
initializer 'database_rewinder', after: 'active_record.initialize_database' do
|
5
6
|
ActiveSupport.on_load :active_record do
|
6
7
|
DatabaseRewinder.init
|
7
8
|
require_relative 'active_record_monkey'
|
9
|
+
|
10
|
+
require_relative 'cleaner'
|
8
11
|
end
|
9
12
|
end
|
10
13
|
end
|
data/test/cleaner_test.rb
CHANGED
data/test/config/database.yml
CHANGED
@@ -1,45 +1,44 @@
|
|
1
|
-
|
1
|
+
<% case ENV['DB']
|
2
|
+
when 'sqlite3' %>
|
3
|
+
test:
|
2
4
|
adapter: sqlite3
|
3
5
|
database: db/database_rewinder_test.sqlite3
|
4
6
|
pool: 5
|
5
7
|
timeout: 5000
|
6
8
|
|
7
|
-
|
9
|
+
test2:
|
8
10
|
adapter: sqlite3
|
9
11
|
database: db/database_rewinder_test2.sqlite3
|
10
12
|
pool: 5
|
11
13
|
timeout: 5000
|
12
14
|
|
13
|
-
mysql
|
15
|
+
<% when 'mysql' %>
|
16
|
+
test:
|
14
17
|
adapter: mysql2
|
15
18
|
host: localhost
|
16
19
|
username: root
|
17
20
|
password:
|
18
21
|
database: database_rewinder_test
|
19
22
|
|
20
|
-
|
23
|
+
test2:
|
21
24
|
adapter: mysql2
|
22
25
|
host: localhost
|
23
26
|
username: root
|
24
27
|
password:
|
25
28
|
database: database_rewinder_test2
|
26
29
|
|
27
|
-
postgresql
|
30
|
+
<% when 'postgresql' %>
|
31
|
+
test:
|
28
32
|
adapter: postgresql
|
29
33
|
host: localhost
|
30
34
|
username: postgres
|
31
35
|
password:
|
32
36
|
database: database_rewinder_test
|
33
37
|
|
34
|
-
|
38
|
+
test2:
|
35
39
|
adapter: postgresql
|
36
40
|
host: localhost
|
37
41
|
username: postgres
|
38
42
|
password:
|
39
43
|
database: database_rewinder_test2
|
40
|
-
|
41
|
-
test:
|
42
|
-
<<: *<%= ENV['DB'] %>
|
43
|
-
|
44
|
-
test2:
|
45
|
-
<<: *<%= "#{ENV['DB']}_2" %>
|
44
|
+
<% end %>
|
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require 'test_helper'
|
3
4
|
|
4
5
|
class DatabaseRewinder::DatabaseRewinderTest < ActiveSupport::TestCase
|
@@ -75,6 +76,25 @@ class DatabaseRewinder::DatabaseRewinderTest < ActiveSupport::TestCase
|
|
75
76
|
DatabaseRewinder.database_configuration = nil
|
76
77
|
end
|
77
78
|
|
79
|
+
sub_test_case 'via General Active Record insertions' do
|
80
|
+
setup do
|
81
|
+
DatabaseRewinder.cleaners
|
82
|
+
@cleaner = DatabaseRewinder.instance_variable_get(:'@cleaners').detect {|c| c.db == (ENV['DB'] == 'sqlite3' ? 'db/database_rewinder_test.sqlite3' : 'database_rewinder_test')}
|
83
|
+
end
|
84
|
+
|
85
|
+
test 'create' do
|
86
|
+
Bar.create name: 'bar1'
|
87
|
+
assert_equal ['bars'], @cleaner.inserted_tables
|
88
|
+
end
|
89
|
+
|
90
|
+
if ActiveRecord::VERSION::STRING >= '6'
|
91
|
+
test 'insert_all' do
|
92
|
+
Bar.insert_all! [{name: 'bar1'}]
|
93
|
+
assert_equal ['bars'], @cleaner.inserted_tables
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
78
98
|
sub_test_case 'common database' do
|
79
99
|
test 'include database name' do
|
80
100
|
perform_insert 'INSERT INTO "database"."foos" ("name") VALUES (?)'
|
@@ -94,6 +114,18 @@ class DatabaseRewinder::DatabaseRewinderTest < ActiveSupport::TestCase
|
|
94
114
|
SQL
|
95
115
|
assert_equal ['foos'], @cleaner.inserted_tables
|
96
116
|
end
|
117
|
+
test 'without spaces between table name and columns list' do
|
118
|
+
perform_insert 'INSERT INTO foos(name) VALUES (?)'
|
119
|
+
assert_equal ['foos'], @cleaner.inserted_tables
|
120
|
+
end
|
121
|
+
|
122
|
+
test 'with multi statement query' do
|
123
|
+
perform_insert <<-SQL
|
124
|
+
INSERT INTO "foos" ("name") VALUES (?);
|
125
|
+
INSERT INTO "bars" ("name") VALUES (?)
|
126
|
+
SQL
|
127
|
+
assert_equal ['foos', 'bars'], @cleaner.inserted_tables
|
128
|
+
end
|
97
129
|
end
|
98
130
|
|
99
131
|
sub_test_case 'Database accepts more than one dots in an object notation (e.g. SQLServer)' do
|
@@ -151,7 +183,7 @@ class DatabaseRewinder::DatabaseRewinderTest < ActiveSupport::TestCase
|
|
151
183
|
@except = @cleaner.instance_variable_get(:@except)
|
152
184
|
Foo.create! name: 'foo1'
|
153
185
|
Bar.create! name: 'bar1'
|
154
|
-
DatabaseRewinder.clean_with :truncation, options
|
186
|
+
DatabaseRewinder.clean_with :truncation, **options
|
155
187
|
end
|
156
188
|
|
157
189
|
test 'with only option' do
|
data/test/fake_app.rb
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
ENV['DB'] ||= 'sqlite3'
|
4
4
|
require 'active_record/railtie'
|
5
|
-
load 'active_record/railties/databases.rake'
|
6
5
|
|
7
6
|
module DatabaseRewinderTestApp
|
8
7
|
Application = Class.new(Rails::Application) do
|
@@ -14,32 +13,34 @@ module DatabaseRewinderTestApp
|
|
14
13
|
end.initialize!
|
15
14
|
end
|
16
15
|
|
16
|
+
load 'active_record/railties/databases.rake'
|
17
|
+
|
17
18
|
require 'active_record/base'
|
18
19
|
ActiveRecord::Tasks::DatabaseTasks.root ||= Rails.root
|
19
|
-
ActiveRecord::Tasks::DatabaseTasks.drop_current
|
20
|
-
ActiveRecord::Tasks::DatabaseTasks.drop_current
|
21
|
-
ActiveRecord::Tasks::DatabaseTasks.create_current
|
22
|
-
ActiveRecord::Tasks::DatabaseTasks.create_current
|
20
|
+
ActiveRecord::Tasks::DatabaseTasks.drop_current 'test'
|
21
|
+
ActiveRecord::Tasks::DatabaseTasks.drop_current 'test2'
|
22
|
+
ActiveRecord::Tasks::DatabaseTasks.create_current 'test'
|
23
|
+
ActiveRecord::Tasks::DatabaseTasks.create_current 'test2'
|
23
24
|
|
24
25
|
# models
|
25
26
|
class Foo < ActiveRecord::Base; end
|
26
27
|
class Bar < ActiveRecord::Base; end
|
27
28
|
class Baz < ActiveRecord::Base; end
|
28
29
|
class Quu < ActiveRecord::Base
|
29
|
-
establish_connection
|
30
|
+
establish_connection :test2
|
30
31
|
end
|
31
32
|
|
32
33
|
# migrations
|
33
34
|
class CreateAllTables < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
|
34
35
|
def self.up
|
35
|
-
ActiveRecord::Base.establish_connection
|
36
|
-
create_table(:bars) {|t| t.string :name }
|
36
|
+
ActiveRecord::Base.establish_connection :test
|
37
|
+
create_table(:bars) {|t| t.string :name; t.index :name, unique: true }
|
37
38
|
create_table(:foos) {|t| t.string :name; t.references :bar, foreign_key: true }
|
38
39
|
create_table(:bazs) {|t| t.string :name }
|
39
40
|
|
40
|
-
test2_connection = ActiveRecord::Base.establish_connection(
|
41
|
+
test2_connection = ActiveRecord::Base.establish_connection(:test2).connection
|
41
42
|
test2_connection.create_table(:quus) {|t| t.string :name }
|
42
|
-
ActiveRecord::Base.establish_connection
|
43
|
+
ActiveRecord::Base.establish_connection :test
|
43
44
|
end
|
44
45
|
|
45
46
|
def self.down
|
@@ -47,8 +48,8 @@ class CreateAllTables < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migrat
|
|
47
48
|
drop_table(:bars) {|t| t.string :name }
|
48
49
|
drop_table(:bazs) {|t| t.string :name }
|
49
50
|
|
50
|
-
test2_connection = ActiveRecord::Base.establish_connection(
|
51
|
+
test2_connection = ActiveRecord::Base.establish_connection(:test2).connection
|
51
52
|
test2_connection.drop_table :quus
|
52
|
-
ActiveRecord::Base.establish_connection
|
53
|
+
ActiveRecord::Base.establish_connection :test
|
53
54
|
end
|
54
55
|
end
|
data/test/test_helper.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
2
3
|
ENV['RAILS_ENV'] ||= 'test'
|
3
4
|
|
4
5
|
$LOAD_PATH.unshift(File.join(__dir__, '..', 'lib'))
|
@@ -9,6 +10,10 @@ require 'active_record'
|
|
9
10
|
require 'database_rewinder'
|
10
11
|
require 'fake_app'
|
11
12
|
require 'test/unit/rails/test_help'
|
13
|
+
begin
|
14
|
+
require 'selenium/webdriver' # rails 6
|
15
|
+
rescue LoadError
|
16
|
+
end
|
12
17
|
|
13
18
|
migrated = ActiveRecord::Base.connection.respond_to?(:data_source_exists?) ? ActiveRecord::Base.connection.data_source_exists?('foos') : ActiveRecord::Base.connection.table_exists?('foos')
|
14
19
|
CreateAllTables.up unless migrated
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: database_rewinder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Akira Matsuda
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-05-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -127,6 +127,8 @@ files:
|
|
127
127
|
- gemfiles/rails_42.gemfile
|
128
128
|
- gemfiles/rails_50.gemfile
|
129
129
|
- gemfiles/rails_51.gemfile
|
130
|
+
- gemfiles/rails_52.gemfile
|
131
|
+
- gemfiles/rails_60.gemfile
|
130
132
|
- gemfiles/rails_edge.gemfile
|
131
133
|
- lib/database_rewinder.rb
|
132
134
|
- lib/database_rewinder/active_record_monkey.rb
|
@@ -161,8 +163,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
161
163
|
- !ruby/object:Gem::Version
|
162
164
|
version: '0'
|
163
165
|
requirements: []
|
164
|
-
|
165
|
-
rubygems_version: 2.7.4
|
166
|
+
rubygems_version: 3.2.0.pre1
|
166
167
|
signing_key:
|
167
168
|
specification_version: 4
|
168
169
|
summary: A minimalist's tiny and ultra-fast database cleaner
|