database_rewinder 0.8.0 → 0.8.1

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
  SHA1:
3
- metadata.gz: 5f5c97bcefcc1123d7adf1d809c1ef4107ce0ef8
4
- data.tar.gz: 889bc139276c81073d6d89870eedecfb4bafa664
3
+ metadata.gz: 7c72cae523f6afdb28ee8e3416cb89822ee1abf2
4
+ data.tar.gz: 23b6abd160c797cc3c63a93c28f61d09cce4e650
5
5
  SHA512:
6
- metadata.gz: 8b9b9cfa9c8bce163ef37ac406aaa3b90c5c5046cb5852eb697d1ae3e48316035ab26378a3294a12d948a189654e17978d932c86f585952f865d09ca296293d2
7
- data.tar.gz: 38cf26cf1d6d947c3eb726bdf28b58175e599decb8757c8185ebfcab2e8d21bb90aadb23b727ab669ae53bf495c01d029e3a076624e67e1a7a14fc91fb3f2cb3
6
+ metadata.gz: 9fd241c1d0ccdfe677e97c611402d19e1cda5e5262759e45219f97a2b467fa0ea94433d582a940ba8bd1b52b06ef480ab2e19fd0aa34d2131d2a6d78162c8ee1
7
+ data.tar.gz: 720ee1316305dc464cb5459edbc004e2deafd7c48fa51a577a72a2086d7182482eb238b692cf3082a3c75dbfb37bd116b81320c4b5a65ea668ef074bb38d26fb
data/.travis.yml CHANGED
@@ -8,27 +8,29 @@ env:
8
8
  - DB=postgresql
9
9
 
10
10
  rvm:
11
- - 2.0.0
12
- - 2.1.10
13
- - 2.2.6
14
- - 2.3.3
11
+ - 2.2.7
12
+ - 2.3.4
13
+ - 2.4.1
15
14
 
16
15
  gemfile:
17
- - gemfiles/rails_40.gemfile
18
- - gemfiles/rails_41.gemfile
19
16
  - gemfiles/rails_42.gemfile
20
17
  - gemfiles/rails_50.gemfile
18
+ - gemfiles/rails_51.gemfile
21
19
  - gemfiles/rails_edge.gemfile
22
20
 
23
21
  sudo: false
24
22
 
25
23
  matrix:
26
- exclude:
27
- - rvm: 2.0.0
28
- gemfile: gemfiles/rails_edge.gemfile
24
+ include:
25
+ - rvm: 2.3.4
26
+ gemfile: gemfiles/rails_41.gemfile
27
+ env: DB=sqlite3
28
+ - rvm: 2.3.4
29
+ gemfile: gemfiles/rails_40.gemfile
30
+ env: DB=sqlite3
29
31
  - rvm: 2.1.10
30
- gemfile: gemfiles/rails_edge.gemfile
32
+ gemfile: gemfiles/rails_42.gemfile
33
+ env: DB=sqlite3
31
34
  - rvm: 2.0.0
32
- gemfile: gemfiles/rails_50.gemfile
33
- - rvm: 2.1.10
34
- gemfile: gemfiles/rails_50.gemfile
35
+ gemfile: gemfiles/rails_42.gemfile
36
+ env: DB=sqlite3
data/README.md CHANGED
@@ -23,9 +23,9 @@ 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
26
+ * ActiveRecord 4.0, 4.1, 4.2, 5.0, 5.1, 5.2 (edge)
27
27
 
28
- * Ruby 2.0, 2.1, 2.2, 2.3
28
+ * Ruby 2.0, 2.1, 2.2, 2.3, 2.4
29
29
 
30
30
  ## Installation
31
31
 
@@ -105,7 +105,7 @@ end
105
105
  ```
106
106
 
107
107
  #### 2. Cleaning with `multiple: false` option
108
- If you're really sure you need to keep using transational tests + database\_rewinder for some reason, then explicitly pass in `multiple: false` option to `DatabaseRewinder.clean_all` and `DatabaseRewinder.clean` invocations as follows. Note that you won't be able to get full performance merit that database\_rewinder provides though.
108
+ If you're really sure you need to keep using transactional tests + database\_rewinder for some reason, then explicitly pass in `multiple: false` option to `DatabaseRewinder.clean_all` and `DatabaseRewinder.clean` invocations as follows. Note that you won't be able to get full performance merit that database\_rewinder provides though.
109
109
 
110
110
  ```ruby
111
111
  RSpec.configure do |config|
@@ -5,7 +5,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "database_rewinder"
8
- spec.version = '0.8.0'
8
+ spec.version = '0.8.1'
9
9
  spec.authors = ["Akira Matsuda"]
10
10
  spec.email = ["ronnie@dio.jp"]
11
11
  spec.description = "A minimalist's tiny and ultra-fast database cleaner"
@@ -2,5 +2,6 @@ source 'https://rubygems.org'
2
2
 
3
3
  gem 'rails', '~> 4.0.0'
4
4
  gem 'mysql2', '~> 0.3.10'
5
+ gem 'nokogiri', RUBY_VERSION < '2.1' ? '~> 1.6.0' : '>= 1.7'
5
6
 
6
7
  gemspec path: '../'
@@ -2,5 +2,6 @@ source 'https://rubygems.org'
2
2
 
3
3
  gem 'rails', '~> 4.1.0'
4
4
  gem 'mysql2', '~> 0.3.13'
5
+ gem 'nokogiri', RUBY_VERSION < '2.1' ? '~> 1.6.0' : '>= 1.7'
5
6
 
6
7
  gemspec path: '../'
@@ -1,5 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'rails', '~> 4.2.0'
4
+ gem 'nokogiri', RUBY_VERSION < '2.1' ? '~> 1.6.0' : '>= 1.7'
4
5
 
5
6
  gemspec path: '../'
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'rails', '~> 5.1.0'
4
+
5
+ gemspec path: '../'
@@ -1,5 +1,10 @@
1
1
  source 'https://rubygems.org'
2
+ git_source(:github) do |repo_name|
3
+ repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
4
+ "https://github.com/#{repo_name}.git"
5
+ end
2
6
 
3
7
  gem 'rails', github: 'rails/rails'
8
+ gem 'arel', github: 'rails/arel'
4
9
 
5
10
  gemspec path: '../'
@@ -48,7 +48,7 @@ module DatabaseRewinder
48
48
  end
49
49
  end or return
50
50
 
51
- match = sql.match(/\AINSERT(?:\s+IGNORE)?(?:\s+INTO)?\s+(?:\.*[`"]?([^.\s`"]+)[`"]?)*/i)
51
+ match = sql.match(/\A\s*INSERT(?:\s+IGNORE)?(?:\s+INTO)?\s+(?:\.*[`"]?([^.\s`"]+)[`"]?)*/i)
52
52
  return unless match
53
53
 
54
54
  table = match[1]
@@ -76,7 +76,7 @@ module DatabaseRewinder
76
76
  #NOTE connection.tables warns on AR 5 with some adapters
77
77
  tables = ActiveSupport::Deprecation.silence { connection.tables }
78
78
  @table_names_cache[cache_key] ||= tables.reject do |t|
79
- (t == ActiveRecord::Migrator.schema_migrations_table_name) ||
79
+ (t == ActiveRecord::SchemaMigration.table_name) ||
80
80
  (ActiveRecord::Base.respond_to?(:internal_metadata_table_name) && (t == ActiveRecord::Base.internal_metadata_table_name))
81
81
  end
82
82
  end
@@ -88,6 +88,12 @@ class DatabaseRewinder::DatabaseRewinderTest < ActiveSupport::TestCase
88
88
  perform_insert 'INSERT "foos" ("name") VALUES (?)'
89
89
  assert_equal ['foos'], @cleaner.inserted_tables
90
90
  end
91
+ test 'with space before "INSERT"' do
92
+ perform_insert <<-SQL
93
+ INSERT INTO "foos" ("name") VALUES (?)
94
+ SQL
95
+ assert_equal ['foos'], @cleaner.inserted_tables
96
+ end
91
97
  end
92
98
 
93
99
  sub_test_case 'Database accepts more than one dots in an object notation (e.g. SQLServer)' do
data/test/fake_app.rb CHANGED
@@ -29,7 +29,7 @@ class Quu < ActiveRecord::Base
29
29
  end
30
30
 
31
31
  # migrations
32
- class CreateAllTables < ActiveRecord::Migration
32
+ class CreateAllTables < ActiveRecord::VERSION::MAJOR >= 5 ? ActiveRecord::Migration[5.0] : ActiveRecord::Migration
33
33
  def self.up
34
34
  ActiveRecord::Base.establish_connection ENV['DB'].to_sym
35
35
  create_table(:bars) {|t| t.string :name }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: database_rewinder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Akira Matsuda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-07 00:00:00.000000000 Z
11
+ date: 2017-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -126,6 +126,7 @@ files:
126
126
  - gemfiles/rails_41.gemfile
127
127
  - gemfiles/rails_42.gemfile
128
128
  - gemfiles/rails_50.gemfile
129
+ - gemfiles/rails_51.gemfile
129
130
  - gemfiles/rails_edge.gemfile
130
131
  - lib/database_rewinder.rb
131
132
  - lib/database_rewinder/active_record_monkey.rb
@@ -161,7 +162,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
161
162
  version: '0'
162
163
  requirements: []
163
164
  rubyforge_project:
164
- rubygems_version: 2.4.5.1
165
+ rubygems_version: 2.6.11
165
166
  signing_key:
166
167
  specification_version: 4
167
168
  summary: A minimalist's tiny and ultra-fast database cleaner