database_cleaner 1.7.0 → 1.8.5

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.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTE.markdown +1 -2
  3. data/Gemfile.lock +130 -91
  4. data/History.rdoc +45 -1
  5. data/README.markdown +74 -226
  6. data/Rakefile +12 -8
  7. data/adapters/database_cleaner-active_record/lib/database_cleaner-active_record.rb +1 -0
  8. data/adapters/database_cleaner-active_record/lib/database_cleaner/active_record.rb +6 -0
  9. data/{lib → adapters/database_cleaner-active_record/lib}/database_cleaner/active_record/base.rb +13 -4
  10. data/{lib → adapters/database_cleaner-active_record/lib}/database_cleaner/active_record/deletion.rb +19 -19
  11. data/{lib → adapters/database_cleaner-active_record/lib}/database_cleaner/active_record/transaction.rb +0 -0
  12. data/{lib → adapters/database_cleaner-active_record/lib}/database_cleaner/active_record/truncation.rb +25 -20
  13. data/adapters/database_cleaner-active_record/lib/database_cleaner/active_record/version.rb +5 -0
  14. data/adapters/database_cleaner-couch_potato/lib/database_cleaner-couch_potato.rb +1 -0
  15. data/adapters/database_cleaner-couch_potato/lib/database_cleaner/couch_potato.rb +11 -0
  16. data/{lib → adapters/database_cleaner-couch_potato/lib}/database_cleaner/couch_potato/base.rb +0 -0
  17. data/{lib → adapters/database_cleaner-couch_potato/lib}/database_cleaner/couch_potato/truncation.rb +0 -0
  18. data/adapters/database_cleaner-couch_potato/lib/database_cleaner/couch_potato/version.rb +5 -0
  19. data/adapters/database_cleaner-data_mapper/lib/database_cleaner-data_mapper.rb +1 -0
  20. data/adapters/database_cleaner-data_mapper/lib/database_cleaner/data_mapper.rb +4 -0
  21. data/{lib → adapters/database_cleaner-data_mapper/lib}/database_cleaner/data_mapper/base.rb +4 -0
  22. data/{lib → adapters/database_cleaner-data_mapper/lib}/database_cleaner/data_mapper/transaction.rb +0 -0
  23. data/{lib → adapters/database_cleaner-data_mapper/lib}/database_cleaner/data_mapper/truncation.rb +4 -3
  24. data/adapters/database_cleaner-data_mapper/lib/database_cleaner/data_mapper/version.rb +5 -0
  25. data/adapters/database_cleaner-mongo/lib/database_cleaner-mongo.rb +1 -0
  26. data/adapters/database_cleaner-mongo/lib/database_cleaner/mongo.rb +10 -0
  27. data/{lib → adapters/database_cleaner-mongo/lib}/database_cleaner/mongo/base.rb +0 -0
  28. data/{lib → adapters/database_cleaner-mongo/lib}/database_cleaner/mongo/truncation.rb +2 -0
  29. data/{lib → adapters/database_cleaner-mongo/lib}/database_cleaner/mongo/truncation_mixin.rb +0 -0
  30. data/adapters/database_cleaner-mongo/lib/database_cleaner/mongo/version.rb +5 -0
  31. data/adapters/database_cleaner-mongo_mapper/lib/database_cleaner-mongo_mapper.rb +1 -0
  32. data/adapters/database_cleaner-mongo_mapper/lib/database_cleaner/mongo_mapper.rb +4 -0
  33. data/{lib → adapters/database_cleaner-mongo_mapper/lib}/database_cleaner/mongo_mapper/base.rb +4 -0
  34. data/adapters/database_cleaner-mongo_mapper/lib/database_cleaner/mongo_mapper/truncation.rb +35 -0
  35. data/adapters/database_cleaner-mongo_mapper/lib/database_cleaner/mongo_mapper/version.rb +5 -0
  36. data/adapters/database_cleaner-mongoid/lib/database_cleaner-mongoid.rb +1 -0
  37. data/adapters/database_cleaner-mongoid/lib/database_cleaner/mongoid.rb +10 -0
  38. data/{lib → adapters/database_cleaner-mongoid/lib}/database_cleaner/mongoid/base.rb +0 -0
  39. data/adapters/database_cleaner-mongoid/lib/database_cleaner/mongoid/mongo1_truncation_mixin.rb +26 -0
  40. data/{lib/database_cleaner/mongo2/truncation_mixin.rb → adapters/database_cleaner-mongoid/lib/database_cleaner/mongoid/mongo2_truncation_mixin.rb} +3 -4
  41. data/adapters/database_cleaner-mongoid/lib/database_cleaner/mongoid/mongoid_truncation_mixin.rb +65 -0
  42. data/{lib → adapters/database_cleaner-mongoid/lib}/database_cleaner/mongoid/truncation.rb +6 -6
  43. data/adapters/database_cleaner-mongoid/lib/database_cleaner/mongoid/version.rb +5 -0
  44. data/adapters/database_cleaner-moped/lib/database_cleaner-moped.rb +1 -0
  45. data/adapters/database_cleaner-moped/lib/database_cleaner/moped.rb +10 -0
  46. data/{lib → adapters/database_cleaner-moped/lib}/database_cleaner/moped/base.rb +1 -1
  47. data/{lib → adapters/database_cleaner-moped/lib}/database_cleaner/moped/truncation.rb +0 -0
  48. data/{lib → adapters/database_cleaner-moped/lib}/database_cleaner/moped/truncation_base.rb +4 -0
  49. data/adapters/database_cleaner-moped/lib/database_cleaner/moped/version.rb +5 -0
  50. data/adapters/database_cleaner-neo4j/lib/database_cleaner-neo4j.rb +1 -0
  51. data/adapters/database_cleaner-neo4j/lib/database_cleaner/neo4j.rb +6 -0
  52. data/{lib → adapters/database_cleaner-neo4j/lib}/database_cleaner/neo4j/base.rb +4 -0
  53. data/{lib → adapters/database_cleaner-neo4j/lib}/database_cleaner/neo4j/deletion.rb +0 -0
  54. data/{lib → adapters/database_cleaner-neo4j/lib}/database_cleaner/neo4j/transaction.rb +0 -0
  55. data/{lib → adapters/database_cleaner-neo4j/lib}/database_cleaner/neo4j/truncation.rb +0 -0
  56. data/adapters/database_cleaner-neo4j/lib/database_cleaner/neo4j/version.rb +5 -0
  57. data/adapters/database_cleaner-ohm/lib/database_cleaner-ohm.rb +1 -0
  58. data/adapters/database_cleaner-ohm/lib/database_cleaner/ohm.rb +12 -0
  59. data/adapters/database_cleaner-ohm/lib/database_cleaner/ohm/truncation.rb +24 -0
  60. data/adapters/database_cleaner-ohm/lib/database_cleaner/ohm/version.rb +5 -0
  61. data/adapters/database_cleaner-redis/lib/database_cleaner-redis.rb +1 -0
  62. data/adapters/database_cleaner-redis/lib/database_cleaner/redis.rb +4 -0
  63. data/{lib → adapters/database_cleaner-redis/lib}/database_cleaner/redis/base.rb +4 -0
  64. data/{lib → adapters/database_cleaner-redis/lib}/database_cleaner/redis/truncation.rb +0 -0
  65. data/adapters/database_cleaner-redis/lib/database_cleaner/redis/version.rb +5 -0
  66. data/adapters/database_cleaner-sequel/lib/database_cleaner-sequel.rb +1 -0
  67. data/adapters/database_cleaner-sequel/lib/database_cleaner/sequel.rb +6 -0
  68. data/{lib → adapters/database_cleaner-sequel/lib}/database_cleaner/sequel/base.rb +4 -0
  69. data/{lib → adapters/database_cleaner-sequel/lib}/database_cleaner/sequel/deletion.rb +0 -0
  70. data/{lib → adapters/database_cleaner-sequel/lib}/database_cleaner/sequel/transaction.rb +0 -0
  71. data/{lib → adapters/database_cleaner-sequel/lib}/database_cleaner/sequel/truncation.rb +16 -15
  72. data/adapters/database_cleaner-sequel/lib/database_cleaner/sequel/version.rb +5 -0
  73. data/lib/database_cleaner.rb +36 -1
  74. data/lib/database_cleaner/base.rb +92 -105
  75. data/lib/database_cleaner/configuration.rb +87 -83
  76. data/lib/database_cleaner/deprecation.rb +26 -0
  77. data/lib/database_cleaner/null_strategy.rb +6 -6
  78. data/lib/database_cleaner/orm_autodetector.rb +41 -0
  79. data/lib/database_cleaner/safeguard.rb +38 -3
  80. data/lib/database_cleaner/spec.rb +2 -0
  81. data/lib/database_cleaner/spec/database_helper.rb +82 -0
  82. data/lib/database_cleaner/spec/shared_examples.rb +15 -0
  83. data/lib/database_cleaner/version.rb +3 -0
  84. metadata +111 -44
  85. data/VERSION.yml +0 -4
  86. data/lib/database_cleaner/mongo2/base.rb +0 -16
  87. data/lib/database_cleaner/mongo_mapper/truncation.rb +0 -19
  88. data/lib/database_cleaner/ohm/truncation.rb +0 -15
@@ -0,0 +1,26 @@
1
+ module DatabaseCleaner
2
+ def deprecate message
3
+ method = caller.first[/\d+:in `(.*)'$/, 1].to_sym
4
+ @@deprecator ||= Deprecator.new
5
+ @@deprecator.deprecate method, message
6
+ end
7
+ module_function :deprecate
8
+
9
+ def called_externally?(file, caller)
10
+ file != caller.first[/^(.+\.rb):\d+/, 1]
11
+ end
12
+ module_function :called_externally?
13
+
14
+ class Deprecator
15
+ def initialize
16
+ @methods_already_warned = {}
17
+ end
18
+
19
+ def deprecate method, message
20
+ return if @methods_already_warned.key?(method)
21
+ $stderr.puts message
22
+ @methods_already_warned[method] = true
23
+ end
24
+ end
25
+ end
26
+
@@ -1,18 +1,18 @@
1
1
  module DatabaseCleaner
2
2
  class NullStrategy
3
- def self.start
3
+ def start
4
4
  # no-op
5
5
  end
6
6
 
7
- def self.db=(connection)
8
- # no-op
9
- end
7
+ def db=(connection)
8
+ # no-op
9
+ end
10
10
 
11
- def self.clean
11
+ def clean
12
12
  # no-op
13
13
  end
14
14
 
15
- def self.cleaning(&block)
15
+ def cleaning(&block)
16
16
  # no-op
17
17
  yield
18
18
  end
@@ -0,0 +1,41 @@
1
+ module DatabaseCleaner
2
+ class ORMAutodetector
3
+ ORMS = {
4
+ active_record: "ActiveRecord",
5
+ data_mapper: "DataMapper",
6
+ mongo_mapper: "MongoMapper",
7
+ mongoid: "Mongoid",
8
+ mongo: "Mongo",
9
+ couch_potato: "CouchPotato",
10
+ sequel: "Sequel",
11
+ moped: "Moped",
12
+ ohm: "Ohm",
13
+ redis: "Redis",
14
+ neo4j: "Neo4j",
15
+ }
16
+
17
+ def orm
18
+ @autodetected = true
19
+ autodetected_orm or raise no_orm_detected_error
20
+ ORMS.key(autodetected_orm.to_s)
21
+ end
22
+
23
+ def autodetected?
24
+ !!@autodetected
25
+ end
26
+
27
+ private
28
+
29
+ def autodetected_orm
30
+ ORMS.values.find do |orm|
31
+ Kernel.const_get(orm) rescue next
32
+ end
33
+ end
34
+
35
+ def no_orm_detected_error
36
+ orm_list = ORMS.values.join(", ").sub(ORMS.values.last, "or #{ORMS.values.last}")
37
+ NoORMDetected.new("No known ORM was detected! Is #{orm_list} loaded?")
38
+ end
39
+ end
40
+ private_constant :ORMAutodetector
41
+ end
@@ -12,8 +12,32 @@ module DatabaseCleaner
12
12
  super("ENV['#{env}'] is set to production. Please refer to https://github.com/DatabaseCleaner/database_cleaner#safeguards")
13
13
  end
14
14
  end
15
+
16
+ class NotWhitelistedUrl < Error
17
+ def initialize
18
+ super("ENV['DATABASE_URL'] is set to a URL that is not on the whitelist. Please refer to https://github.com/DatabaseCleaner/database_cleaner#safeguards")
19
+ end
20
+ end
21
+ end
22
+
23
+ class WhitelistedUrl
24
+ def run
25
+ return if skip?
26
+ raise Error::NotWhitelistedUrl if database_url_not_whitelisted?
27
+ end
28
+
29
+ private
30
+
31
+ def database_url_not_whitelisted?
32
+ !DatabaseCleaner.url_whitelist.include?(ENV['DATABASE_URL'])
33
+ end
34
+
35
+ def skip?
36
+ !DatabaseCleaner.url_whitelist
37
+ end
15
38
  end
16
39
 
40
+
17
41
  class RemoteDatabaseUrl
18
42
  LOCAL = %w(localhost 127.0.0.1)
19
43
 
@@ -28,12 +52,22 @@ module DatabaseCleaner
28
52
  end
29
53
 
30
54
  def remote?(url)
31
- url && !LOCAL.any? { |str| url.include?(str) }
55
+ return false unless url
56
+
57
+ parsed = URI.parse(url)
58
+ return false if parsed.scheme == 'sqlite3:'
59
+
60
+ host = parsed.host
61
+ return false unless host
62
+ return false if LOCAL.include?(host)
63
+ return false if host.end_with? '.local'
64
+ true
32
65
  end
33
66
 
34
67
  def skip?
35
68
  ENV['DATABASE_CLEANER_ALLOW_REMOTE_DATABASE_URL'] ||
36
- DatabaseCleaner.allow_remote_database_url
69
+ DatabaseCleaner.allow_remote_database_url ||
70
+ DatabaseCleaner.url_whitelist
37
71
  end
38
72
  end
39
73
 
@@ -62,7 +96,8 @@ module DatabaseCleaner
62
96
 
63
97
  CHECKS = [
64
98
  RemoteDatabaseUrl,
65
- Production
99
+ Production,
100
+ WhitelistedUrl
66
101
  ]
67
102
 
68
103
  def run
@@ -0,0 +1,2 @@
1
+ require "database_cleaner/spec/database_helper"
2
+ require "database_cleaner/spec/shared_examples"
@@ -0,0 +1,82 @@
1
+ require 'yaml'
2
+
3
+ module DatabaseCleaner
4
+ module Spec
5
+ class DatabaseHelper < Struct.new(:db)
6
+ def self.with_all_dbs &block
7
+ %w[mysql mysql2 sqlite3 postgres].map(&:to_sym).each do |db|
8
+ yield new(db)
9
+ end
10
+ end
11
+
12
+ def setup
13
+ create_db
14
+ establish_connection
15
+ load_schema
16
+ end
17
+
18
+ attr_reader :connection
19
+
20
+ def teardown
21
+ drop_db
22
+ end
23
+
24
+ private
25
+
26
+ def establish_connection(config = default_config)
27
+ raise NotImplementedError
28
+ end
29
+
30
+ def create_db
31
+ if db == :sqlite3
32
+ # NO-OP
33
+ elsif db == :postgres
34
+ establish_connection default_config.merge('database' => 'postgres')
35
+ connection.execute "CREATE DATABASE #{default_config['database']}" rescue nil
36
+ else
37
+ establish_connection default_config.merge("database" => nil)
38
+ connection.execute "CREATE DATABASE IF NOT EXISTS #{default_config['database']}"
39
+ end
40
+ end
41
+
42
+ def load_schema
43
+ connection.execute <<-SQL
44
+ CREATE TABLE IF NOT EXISTS users (
45
+ id SERIAL PRIMARY KEY,
46
+ name INTEGER
47
+ );
48
+ SQL
49
+
50
+ connection.execute <<-SQL
51
+ CREATE TABLE IF NOT EXISTS agents (
52
+ name INTEGER
53
+ );
54
+ SQL
55
+ end
56
+
57
+ def drop_db
58
+ if db == :sqlite3
59
+ begin
60
+ File.unlink(db_config['sqlite3']['database'])
61
+ rescue Errno::ENOENT
62
+ end
63
+ elsif db == :postgres
64
+ # FIXME
65
+ connection.execute "DROP TABLE IF EXISTS users"
66
+ connection.execute "DROP TABLE IF EXISTS agents"
67
+ else
68
+ connection.execute "DROP DATABASE IF EXISTS #{default_config['database']}"
69
+ end
70
+ end
71
+
72
+ def db_config
73
+ config_path = 'spec/support/config.yml'
74
+ @db_config ||= YAML.load(IO.read(config_path))
75
+ end
76
+
77
+ def default_config
78
+ db_config[db.to_s]
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,15 @@
1
+ RSpec.shared_examples_for "a generic strategy" do
2
+ it { is_expected.to respond_to(:db) }
3
+ end
4
+
5
+ RSpec.shared_examples_for "a generic truncation strategy" do
6
+ it { is_expected.to respond_to(:start) }
7
+ it { is_expected.to respond_to(:clean) }
8
+ it { is_expected.to respond_to(:cleaning) }
9
+ end
10
+
11
+ RSpec.shared_examples_for "a generic transaction strategy" do
12
+ it { is_expected.to respond_to(:start) }
13
+ it { is_expected.to respond_to(:clean) }
14
+ it { is_expected.to respond_to(:cleaning) }
15
+ end
@@ -0,0 +1,3 @@
1
+ module DatabaseCleaner
2
+ VERSION = "1.8.5"
3
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: database_cleaner
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.8.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Mabey
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-04-19 00:00:00.000000000 Z
12
+ date: 2020-05-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -179,6 +179,20 @@ dependencies:
179
179
  - - ">="
180
180
  - !ruby/object:Gem::Version
181
181
  version: '0'
182
+ - !ruby/object:Gem::Dependency
183
+ name: mongo
184
+ requirement: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - "~>"
187
+ - !ruby/object:Gem::Version
188
+ version: 1.12.0
189
+ type: :development
190
+ prerelease: false
191
+ version_requirements: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - "~>"
194
+ - !ruby/object:Gem::Version
195
+ version: 1.12.0
182
196
  - !ruby/object:Gem::Dependency
183
197
  name: moped
184
198
  requirement: !ruby/object:Gem::Requirement
@@ -264,19 +278,33 @@ dependencies:
264
278
  - !ruby/object:Gem::Version
265
279
  version: '0'
266
280
  - !ruby/object:Gem::Dependency
267
- name: rspec-rails
281
+ name: listen
268
282
  requirement: !ruby/object:Gem::Requirement
269
283
  requirements:
270
284
  - - "~>"
271
285
  - !ruby/object:Gem::Version
272
- version: 2.14.2
286
+ version: 3.0.0
273
287
  type: :development
274
288
  prerelease: false
275
289
  version_requirements: !ruby/object:Gem::Requirement
276
290
  requirements:
277
291
  - - "~>"
278
292
  - !ruby/object:Gem::Version
279
- version: 2.14.2
293
+ version: 3.0.0
294
+ - !ruby/object:Gem::Dependency
295
+ name: rspec
296
+ requirement: !ruby/object:Gem::Requirement
297
+ requirements:
298
+ - - ">="
299
+ - !ruby/object:Gem::Version
300
+ version: '0'
301
+ type: :development
302
+ prerelease: false
303
+ version_requirements: !ruby/object:Gem::Requirement
304
+ requirements:
305
+ - - ">="
306
+ - !ruby/object:Gem::Version
307
+ version: '0'
280
308
  - !ruby/object:Gem::Dependency
281
309
  name: cucumber
282
310
  requirement: !ruby/object:Gem::Requirement
@@ -375,9 +403,10 @@ dependencies:
375
403
  - - ">="
376
404
  - !ruby/object:Gem::Version
377
405
  version: '0'
378
- description: Strategies for cleaning databases. Can be used to ensure a clean state
406
+ description: Strategies for cleaning databases. Can be used to ensure a clean slate
379
407
  for testing.
380
- email: ernesto@ombulabs.com
408
+ email:
409
+ - ernesto@ombulabs.com
381
410
  executables: []
382
411
  extensions: []
383
412
  extra_rdoc_files:
@@ -392,50 +421,89 @@ files:
392
421
  - README.markdown
393
422
  - Rakefile
394
423
  - TODO
395
- - VERSION.yml
424
+ - adapters/database_cleaner-active_record/lib/database_cleaner-active_record.rb
425
+ - adapters/database_cleaner-active_record/lib/database_cleaner/active_record.rb
426
+ - adapters/database_cleaner-active_record/lib/database_cleaner/active_record/base.rb
427
+ - adapters/database_cleaner-active_record/lib/database_cleaner/active_record/deletion.rb
428
+ - adapters/database_cleaner-active_record/lib/database_cleaner/active_record/transaction.rb
429
+ - adapters/database_cleaner-active_record/lib/database_cleaner/active_record/truncation.rb
430
+ - adapters/database_cleaner-active_record/lib/database_cleaner/active_record/version.rb
431
+ - adapters/database_cleaner-couch_potato/lib/database_cleaner-couch_potato.rb
432
+ - adapters/database_cleaner-couch_potato/lib/database_cleaner/couch_potato.rb
433
+ - adapters/database_cleaner-couch_potato/lib/database_cleaner/couch_potato/base.rb
434
+ - adapters/database_cleaner-couch_potato/lib/database_cleaner/couch_potato/truncation.rb
435
+ - adapters/database_cleaner-couch_potato/lib/database_cleaner/couch_potato/version.rb
436
+ - adapters/database_cleaner-data_mapper/lib/database_cleaner-data_mapper.rb
437
+ - adapters/database_cleaner-data_mapper/lib/database_cleaner/data_mapper.rb
438
+ - adapters/database_cleaner-data_mapper/lib/database_cleaner/data_mapper/base.rb
439
+ - adapters/database_cleaner-data_mapper/lib/database_cleaner/data_mapper/transaction.rb
440
+ - adapters/database_cleaner-data_mapper/lib/database_cleaner/data_mapper/truncation.rb
441
+ - adapters/database_cleaner-data_mapper/lib/database_cleaner/data_mapper/version.rb
442
+ - adapters/database_cleaner-mongo/lib/database_cleaner-mongo.rb
443
+ - adapters/database_cleaner-mongo/lib/database_cleaner/mongo.rb
444
+ - adapters/database_cleaner-mongo/lib/database_cleaner/mongo/base.rb
445
+ - adapters/database_cleaner-mongo/lib/database_cleaner/mongo/truncation.rb
446
+ - adapters/database_cleaner-mongo/lib/database_cleaner/mongo/truncation_mixin.rb
447
+ - adapters/database_cleaner-mongo/lib/database_cleaner/mongo/version.rb
448
+ - adapters/database_cleaner-mongo_mapper/lib/database_cleaner-mongo_mapper.rb
449
+ - adapters/database_cleaner-mongo_mapper/lib/database_cleaner/mongo_mapper.rb
450
+ - adapters/database_cleaner-mongo_mapper/lib/database_cleaner/mongo_mapper/base.rb
451
+ - adapters/database_cleaner-mongo_mapper/lib/database_cleaner/mongo_mapper/truncation.rb
452
+ - adapters/database_cleaner-mongo_mapper/lib/database_cleaner/mongo_mapper/version.rb
453
+ - adapters/database_cleaner-mongoid/lib/database_cleaner-mongoid.rb
454
+ - adapters/database_cleaner-mongoid/lib/database_cleaner/mongoid.rb
455
+ - adapters/database_cleaner-mongoid/lib/database_cleaner/mongoid/base.rb
456
+ - adapters/database_cleaner-mongoid/lib/database_cleaner/mongoid/mongo1_truncation_mixin.rb
457
+ - adapters/database_cleaner-mongoid/lib/database_cleaner/mongoid/mongo2_truncation_mixin.rb
458
+ - adapters/database_cleaner-mongoid/lib/database_cleaner/mongoid/mongoid_truncation_mixin.rb
459
+ - adapters/database_cleaner-mongoid/lib/database_cleaner/mongoid/truncation.rb
460
+ - adapters/database_cleaner-mongoid/lib/database_cleaner/mongoid/version.rb
461
+ - adapters/database_cleaner-moped/lib/database_cleaner-moped.rb
462
+ - adapters/database_cleaner-moped/lib/database_cleaner/moped.rb
463
+ - adapters/database_cleaner-moped/lib/database_cleaner/moped/base.rb
464
+ - adapters/database_cleaner-moped/lib/database_cleaner/moped/truncation.rb
465
+ - adapters/database_cleaner-moped/lib/database_cleaner/moped/truncation_base.rb
466
+ - adapters/database_cleaner-moped/lib/database_cleaner/moped/version.rb
467
+ - adapters/database_cleaner-neo4j/lib/database_cleaner-neo4j.rb
468
+ - adapters/database_cleaner-neo4j/lib/database_cleaner/neo4j.rb
469
+ - adapters/database_cleaner-neo4j/lib/database_cleaner/neo4j/base.rb
470
+ - adapters/database_cleaner-neo4j/lib/database_cleaner/neo4j/deletion.rb
471
+ - adapters/database_cleaner-neo4j/lib/database_cleaner/neo4j/transaction.rb
472
+ - adapters/database_cleaner-neo4j/lib/database_cleaner/neo4j/truncation.rb
473
+ - adapters/database_cleaner-neo4j/lib/database_cleaner/neo4j/version.rb
474
+ - adapters/database_cleaner-ohm/lib/database_cleaner-ohm.rb
475
+ - adapters/database_cleaner-ohm/lib/database_cleaner/ohm.rb
476
+ - adapters/database_cleaner-ohm/lib/database_cleaner/ohm/truncation.rb
477
+ - adapters/database_cleaner-ohm/lib/database_cleaner/ohm/version.rb
478
+ - adapters/database_cleaner-redis/lib/database_cleaner-redis.rb
479
+ - adapters/database_cleaner-redis/lib/database_cleaner/redis.rb
480
+ - adapters/database_cleaner-redis/lib/database_cleaner/redis/base.rb
481
+ - adapters/database_cleaner-redis/lib/database_cleaner/redis/truncation.rb
482
+ - adapters/database_cleaner-redis/lib/database_cleaner/redis/version.rb
483
+ - adapters/database_cleaner-sequel/lib/database_cleaner-sequel.rb
484
+ - adapters/database_cleaner-sequel/lib/database_cleaner/sequel.rb
485
+ - adapters/database_cleaner-sequel/lib/database_cleaner/sequel/base.rb
486
+ - adapters/database_cleaner-sequel/lib/database_cleaner/sequel/deletion.rb
487
+ - adapters/database_cleaner-sequel/lib/database_cleaner/sequel/transaction.rb
488
+ - adapters/database_cleaner-sequel/lib/database_cleaner/sequel/truncation.rb
489
+ - adapters/database_cleaner-sequel/lib/database_cleaner/sequel/version.rb
396
490
  - cucumber.yml
397
491
  - lib/database_cleaner.rb
398
- - lib/database_cleaner/active_record/base.rb
399
- - lib/database_cleaner/active_record/deletion.rb
400
- - lib/database_cleaner/active_record/transaction.rb
401
- - lib/database_cleaner/active_record/truncation.rb
402
492
  - lib/database_cleaner/base.rb
403
493
  - lib/database_cleaner/configuration.rb
404
- - lib/database_cleaner/couch_potato/base.rb
405
- - lib/database_cleaner/couch_potato/truncation.rb
406
494
  - lib/database_cleaner/cucumber.rb
407
- - lib/database_cleaner/data_mapper/base.rb
408
- - lib/database_cleaner/data_mapper/transaction.rb
409
- - lib/database_cleaner/data_mapper/truncation.rb
495
+ - lib/database_cleaner/deprecation.rb
410
496
  - lib/database_cleaner/generic/base.rb
411
497
  - lib/database_cleaner/generic/transaction.rb
412
498
  - lib/database_cleaner/generic/truncation.rb
413
- - lib/database_cleaner/mongo/base.rb
414
- - lib/database_cleaner/mongo/truncation.rb
415
- - lib/database_cleaner/mongo/truncation_mixin.rb
416
- - lib/database_cleaner/mongo2/base.rb
417
- - lib/database_cleaner/mongo2/truncation_mixin.rb
418
- - lib/database_cleaner/mongo_mapper/base.rb
419
- - lib/database_cleaner/mongo_mapper/truncation.rb
420
- - lib/database_cleaner/mongoid/base.rb
421
- - lib/database_cleaner/mongoid/truncation.rb
422
- - lib/database_cleaner/moped/base.rb
423
- - lib/database_cleaner/moped/truncation.rb
424
- - lib/database_cleaner/moped/truncation_base.rb
425
- - lib/database_cleaner/neo4j/base.rb
426
- - lib/database_cleaner/neo4j/deletion.rb
427
- - lib/database_cleaner/neo4j/transaction.rb
428
- - lib/database_cleaner/neo4j/truncation.rb
429
499
  - lib/database_cleaner/null_strategy.rb
430
- - lib/database_cleaner/ohm/truncation.rb
431
- - lib/database_cleaner/redis/base.rb
432
- - lib/database_cleaner/redis/truncation.rb
500
+ - lib/database_cleaner/orm_autodetector.rb
433
501
  - lib/database_cleaner/safeguard.rb
434
- - lib/database_cleaner/sequel/base.rb
435
- - lib/database_cleaner/sequel/deletion.rb
436
- - lib/database_cleaner/sequel/transaction.rb
437
- - lib/database_cleaner/sequel/truncation.rb
438
- homepage: http://github.com/DatabaseCleaner/database_cleaner
502
+ - lib/database_cleaner/spec.rb
503
+ - lib/database_cleaner/spec/database_helper.rb
504
+ - lib/database_cleaner/spec/shared_examples.rb
505
+ - lib/database_cleaner/version.rb
506
+ homepage: https://github.com/DatabaseCleaner/database_cleaner
439
507
  licenses:
440
508
  - MIT
441
509
  metadata: {}
@@ -454,10 +522,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
454
522
  - !ruby/object:Gem::Version
455
523
  version: '0'
456
524
  requirements: []
457
- rubyforge_project:
458
- rubygems_version: 2.7.3
525
+ rubygems_version: 3.0.8
459
526
  signing_key:
460
527
  specification_version: 4
461
- summary: Strategies for cleaning databases. Can be used to ensure a clean state for
528
+ summary: Strategies for cleaning databases. Can be used to ensure a clean slate for
462
529
  testing.
463
530
  test_files: []