database_cleaner-mongoid 1.8.0 → 2.0.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
  SHA256:
3
- metadata.gz: 7c969d9ee56f6a3f591d7deb4c4b8b9e1d2713ffef29cb236dbbe4294090ebdf
4
- data.tar.gz: 0a848d2ff860135f514ef1553b49d20dc28d918304c0f068815778516d99cb6d
3
+ metadata.gz: b4857fc2f9d36f05ce84b3a48933c55ee817b4b74b1d3e290173861b059e7351
4
+ data.tar.gz: 86b440044adac4c88079d6e1bf0d9170a6416b13600e0892ae2620feb96dc29b
5
5
  SHA512:
6
- metadata.gz: d07475b527e1721cdde5811650c13a08f7e5a82f68430c75b8d05b60a5593e73f6c56c43c38910f025eba67a6eddc2fea439280c9ba390a127a570e64195e917
7
- data.tar.gz: 7c1d05ed6a46218db54f33291dfc412b6ee758445774a2912a8b0cb30b47b1ee931871a6ab25b6ebeca636057f0db702641643aff7957a3cebabecdb035f4679
6
+ metadata.gz: d9e5d5cb3dcedfc931d57911db0840906424b5bc9918be302124c8935dff955c81e7041651bf60b37f9f3342cdcdf612ea47cef035c52545939e20515e81cb6a
7
+ data.tar.gz: 21559884d495ad112819ea036bee4229d53d71911d70529034f89d7e9b75c9ccc2c4415531975590383ffaaf025b31b8a092d7fec1930f85b8eca1e5eaf46142
data/.gitignore CHANGED
@@ -6,6 +6,11 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ /.ruby-version
10
+ /.byebug_history
11
+
12
+ /Gemfile.lock
13
+ /gemfiles/*.lock
9
14
 
10
15
  # rspec failure tracking
11
16
  .rspec_status
@@ -1,5 +1,24 @@
1
- sudo: false
2
1
  language: ruby
2
+ services:
3
+ - mongodb
3
4
  rvm:
4
- - 2.2.9
5
- before_install: gem install bundler -v 1.17.2
5
+ - 2.5
6
+ - 2.6
7
+ - 2.7
8
+ gemfile:
9
+ - gemfiles/mongoid3.gemfile
10
+ - gemfiles/mongoid4.gemfile
11
+ - gemfiles/mongoid5.gemfile
12
+ - gemfiles/mongoid6.gemfile
13
+ - gemfiles/mongoid7.gemfile
14
+ jobs:
15
+ exclude:
16
+ # mongoid3-5 incompatible with BigDecimal changes in 2.7, it seems?
17
+ - rvm: 2.7
18
+ gemfile: gemfiles/mongoid3.gemfile
19
+ - rvm: 2.7
20
+ gemfile: gemfiles/mongoid4.gemfile
21
+ - rvm: 2.7
22
+ gemfile: gemfiles/mongoid5.gemfile
23
+ before_script:
24
+ - bin/setup
@@ -0,0 +1,20 @@
1
+ appraise "mongoid3" do
2
+ gem "mongoid", "~>3.0"
3
+ end
4
+
5
+ appraise "mongoid4" do
6
+ gem "mongoid", "~>4.0"
7
+ end
8
+
9
+ appraise "mongoid5" do
10
+ gem "mongoid", "~>5.0"
11
+ end
12
+
13
+ appraise "mongoid6" do
14
+ gem "mongoid", "~>6.0"
15
+ end
16
+
17
+ appraise "mongoid7" do
18
+ gem "mongoid", "~>7.0"
19
+ end
20
+
data/Gemfile CHANGED
@@ -1,9 +1,13 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
-
5
3
  # Specify your gem's dependencies in database_cleaner-mongoid.gemspec
6
4
  gemspec
7
5
 
8
- gem "database_cleaner", path: "../.."
9
- gem "database_cleaner-mongo", path: ".."
6
+ gem "database_cleaner-core", git: "https://github.com/DatabaseCleaner/database_cleaner"
7
+
8
+ gem "byebug"
9
+
10
+ group :test do
11
+ gem "simplecov", require: false
12
+ gem "codecov", require: false
13
+ end
data/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  [![Build Status](https://travis-ci.org/DatabaseCleaner/database_cleaner-mongoid.svg?branch=master)](https://travis-ci.org/DatabaseCleaner/database_cleaner-mongoid)
4
4
  [![Code Climate](https://codeclimate.com/github/DatabaseCleaner/database_cleaner-mongoid/badges/gpa.svg)](https://codeclimate.com/github/DatabaseCleaner/database_cleaner-mongoid)
5
+ [![codecov](https://codecov.io/gh/DatabaseCleaner/database_cleaner-mongoid/branch/master/graph/badge.svg)](https://codecov.io/gh/DatabaseCleaner/database_cleaner-mongoid)
5
6
 
6
7
  Clean your Mongoid databases with Database Cleaner.
7
8
 
@@ -18,40 +19,37 @@ end
18
19
 
19
20
  ## Supported Strategies
20
21
 
21
- <table>
22
- <tbody>
23
- <tr>
24
- <th>Truncation</th>
25
- <th>Transaction</th>
26
- <th>Deletion</th>
27
- </tr>
28
- <tr>
29
- <td> <b>Yes</b></td>
30
- <td> No</td>
31
- <td> No</td>
32
- </tr>
33
- </tbody>
34
- </table>
35
-
36
- (Default strategy is denoted in bold)
37
-
38
- ## Configuration options
39
-
40
- <table>
41
- <tbody>
42
- <tr>
43
- <th>ORM</th>
44
- <th>How to access</th>
45
- <th>Notes</th>
46
- </tr>
47
- <tr>
48
- <td> Mongoid</td>
49
- <td> <code>DatabaseCleaner[:mongoid]</code></td>
50
- <td> Multiple databases supported for Mongoid 3. Specify <code>DatabaseCleaner[:mongoid, {:connection =&gt; :db_name}]</code> </td>
51
- </tr>
52
- </tbody>
53
- </table>
22
+ The mongoid adapter only has one strategy: the deletion strategy.
23
+
24
+ ## Strategy configuration options
25
+
26
+ `:only` and `:except` may take a list of collection names:
27
+
28
+ ```ruby
29
+ # Only delete the "users" collection.
30
+ DatabaseCleaner[:mongoid].strategy = :deletion, { only: ["users"] }
31
+
32
+ # Delete all collections except the "users" collection.
33
+ DatabaseCleaner[:mongoid].strategy = :deletion, { except: ["users"] }
34
+ ```
35
+
36
+ ## Adapter configuration options
37
+
38
+ `#db` defaults to the default Mongoid database, but can be specified manually in a few ways:
39
+
40
+ ```ruby
41
+ # Redis URI string:
42
+ DatabaseCleaner[:mongoid].db = :logs
43
+
44
+ # Back to default:
45
+ DatabaseCleaner[:mongoid].db = :default
46
+
47
+ # Multiple Mongoid databases can be specified:
48
+ DatabaseCleaner[:mongoid, connection: :default]
49
+ DatabaseCleaner[:mongoid, connection: :shard_1]
50
+ DatabaseCleaner[:mongoid, connection: :shard_2]
51
+ ```
54
52
 
55
53
  ## COPYRIGHT
56
54
 
57
- See [LICENSE] for details.
55
+ See [LICENSE](LICENSE) for details.
@@ -1,12 +1,9 @@
1
-
2
- lib = File.expand_path("../lib", __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "database_cleaner/mongoid/version"
1
+ require_relative "./lib/database_cleaner/mongoid/version"
5
2
 
6
3
  Gem::Specification.new do |spec|
7
4
  spec.name = "database_cleaner-mongoid"
8
5
  spec.version = DatabaseCleaner::Mongoid::VERSION
9
- spec.authors = ["Ernesto Tagwerker"]
6
+ spec.authors = ["Ernesto Tagwerker", "Micah Geisel"]
10
7
  spec.email = ["ernesto@ombulabs.com"]
11
8
 
12
9
  spec.summary = "Strategies for cleaning databases using Mongoid. Can be used to ensure a clean state for testing."
@@ -21,11 +18,11 @@ Gem::Specification.new do |spec|
21
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
19
  spec.require_paths = ["lib"]
23
20
 
24
- spec.add_dependency "database_cleaner", "~> 1.8.0"
25
- spec.add_dependency "database_cleaner-mongo", "~> 1.8.0"
21
+ spec.add_dependency "database_cleaner-core", "~>2.0.0"
26
22
  spec.add_dependency "mongoid"
27
23
 
28
- spec.add_development_dependency "bundler", "~> 1.16"
29
- spec.add_development_dependency "rake", "~> 10.0"
30
- spec.add_development_dependency "rspec", "~> 3.0"
24
+ spec.add_development_dependency "bundler"
25
+ spec.add_development_dependency "appraisal"
26
+ spec.add_development_dependency "rake"
27
+ spec.add_development_dependency "rspec"
31
28
  end
@@ -0,0 +1,2 @@
1
+ ---
2
+ BUNDLE_RETRY: "1"
@@ -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 "byebug"
7
+ gem "mongoid", "~>3.0"
8
+
9
+ group :test do
10
+ gem "simplecov", require: false
11
+ gem "codecov", require: false
12
+ end
13
+
14
+ gemspec path: "../"
@@ -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 "byebug"
7
+ gem "mongoid", "~>4.0"
8
+
9
+ group :test do
10
+ gem "simplecov", require: false
11
+ gem "codecov", require: false
12
+ end
13
+
14
+ gemspec path: "../"
@@ -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 "byebug"
7
+ gem "mongoid", "~>5.0"
8
+
9
+ group :test do
10
+ gem "simplecov", require: false
11
+ gem "codecov", require: false
12
+ end
13
+
14
+ gemspec path: "../"
@@ -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 "byebug"
7
+ gem "mongoid", "~>6.0"
8
+
9
+ group :test do
10
+ gem "simplecov", require: false
11
+ gem "codecov", require: false
12
+ end
13
+
14
+ gemspec path: "../"
@@ -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 "byebug"
7
+ gem "mongoid", "~>7.0"
8
+
9
+ group :test do
10
+ gem "simplecov", require: false
11
+ gem "codecov", require: false
12
+ end
13
+
14
+ gemspec path: "../"
@@ -1,10 +1,5 @@
1
1
  require "database_cleaner/mongoid/version"
2
- require "database_cleaner"
3
- require "database_cleaner/mongoid/truncation"
4
-
5
- module DatabaseCleaner::Mongoid
6
- def self.default_strategy
7
- :truncation
8
- end
9
- end
2
+ require "database_cleaner/core"
3
+ require "database_cleaner/mongoid/deletion"
10
4
 
5
+ DatabaseCleaner[:mongoid].strategy = :deletion
@@ -0,0 +1,30 @@
1
+ require 'database_cleaner/strategy'
2
+ require 'database_cleaner/mongoid/mongoid4_mixin'
3
+ require 'database_cleaner/mongoid/mongoid5_mixin'
4
+ require 'mongoid/version'
5
+
6
+ module DatabaseCleaner
7
+ module Mongoid
8
+ class Deletion < Strategy
9
+ def initialize only: [], except: []
10
+ @only = only
11
+ @except = except
12
+ end
13
+
14
+ if ::Mongoid::VERSION < '5'
15
+ include ::DatabaseCleaner::Mongoid::Mongoid4Mixin
16
+ else
17
+ include ::DatabaseCleaner::Mongoid::Mongoid5Mixin
18
+ end
19
+
20
+ private
21
+
22
+ def collections_to_delete
23
+ only = @only.any? ? @only : collections
24
+ (only - @except).map do |name|
25
+ database[name].find
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,30 @@
1
+ module DatabaseCleaner
2
+ module Mongoid
3
+ module Mongoid4Mixin
4
+ def clean
5
+ collections_to_delete.each(&:remove_all)
6
+ wait_for_removals_to_finish
7
+ end
8
+
9
+ private
10
+
11
+ def database
12
+ ::Mongoid.default_session
13
+ end
14
+
15
+ def collections
16
+ if db != :default
17
+ database.use(db)
18
+ end
19
+
20
+ database.command(listCollections: 1, filter: { 'name' => { '$not' => /.?system\.|\$/ } })['cursor']['firstBatch'].map do |collection|
21
+ collection['name']
22
+ end
23
+ end
24
+
25
+ def wait_for_removals_to_finish
26
+ database.command(getlasterror: 1)
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,27 @@
1
+ module DatabaseCleaner
2
+ module Mongoid
3
+ module Mongoid5Mixin
4
+ def clean
5
+ collections_to_delete.each(&:delete_many)
6
+ end
7
+
8
+ private
9
+
10
+ def database
11
+ if @db.nil? || @db == :default
12
+ ::Mongoid::Clients.default
13
+ else
14
+ ::Mongoid::Clients.with_name(@db)
15
+ end
16
+ end
17
+
18
+ def collections
19
+ if db != :default
20
+ database.use(db)
21
+ end
22
+
23
+ database.collections.collect { |c| c.namespace.split('.',2)[1] }
24
+ end
25
+ end
26
+ end
27
+ end
@@ -1,5 +1,5 @@
1
1
  module DatabaseCleaner
2
2
  module Mongoid
3
- VERSION = "1.8.0"
3
+ VERSION = "2.0.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,51 +1,52 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: database_cleaner-mongoid
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ernesto Tagwerker
8
+ - Micah Geisel
8
9
  autorequire:
9
10
  bindir: exe
10
11
  cert_chain: []
11
- date: 2020-01-30 00:00:00.000000000 Z
12
+ date: 2021-01-31 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
- name: database_cleaner
15
+ name: database_cleaner-core
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
18
  - - "~>"
18
19
  - !ruby/object:Gem::Version
19
- version: 1.8.0
20
+ version: 2.0.0
20
21
  type: :runtime
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
25
  - - "~>"
25
26
  - !ruby/object:Gem::Version
26
- version: 1.8.0
27
+ version: 2.0.0
27
28
  - !ruby/object:Gem::Dependency
28
- name: database_cleaner-mongo
29
+ name: mongoid
29
30
  requirement: !ruby/object:Gem::Requirement
30
31
  requirements:
31
- - - "~>"
32
+ - - ">="
32
33
  - !ruby/object:Gem::Version
33
- version: 1.8.0
34
+ version: '0'
34
35
  type: :runtime
35
36
  prerelease: false
36
37
  version_requirements: !ruby/object:Gem::Requirement
37
38
  requirements:
38
- - - "~>"
39
+ - - ">="
39
40
  - !ruby/object:Gem::Version
40
- version: 1.8.0
41
+ version: '0'
41
42
  - !ruby/object:Gem::Dependency
42
- name: mongoid
43
+ name: bundler
43
44
  requirement: !ruby/object:Gem::Requirement
44
45
  requirements:
45
46
  - - ">="
46
47
  - !ruby/object:Gem::Version
47
48
  version: '0'
48
- type: :runtime
49
+ type: :development
49
50
  prerelease: false
50
51
  version_requirements: !ruby/object:Gem::Requirement
51
52
  requirements:
@@ -53,47 +54,47 @@ dependencies:
53
54
  - !ruby/object:Gem::Version
54
55
  version: '0'
55
56
  - !ruby/object:Gem::Dependency
56
- name: bundler
57
+ name: appraisal
57
58
  requirement: !ruby/object:Gem::Requirement
58
59
  requirements:
59
- - - "~>"
60
+ - - ">="
60
61
  - !ruby/object:Gem::Version
61
- version: '1.16'
62
+ version: '0'
62
63
  type: :development
63
64
  prerelease: false
64
65
  version_requirements: !ruby/object:Gem::Requirement
65
66
  requirements:
66
- - - "~>"
67
+ - - ">="
67
68
  - !ruby/object:Gem::Version
68
- version: '1.16'
69
+ version: '0'
69
70
  - !ruby/object:Gem::Dependency
70
71
  name: rake
71
72
  requirement: !ruby/object:Gem::Requirement
72
73
  requirements:
73
- - - "~>"
74
+ - - ">="
74
75
  - !ruby/object:Gem::Version
75
- version: '10.0'
76
+ version: '0'
76
77
  type: :development
77
78
  prerelease: false
78
79
  version_requirements: !ruby/object:Gem::Requirement
79
80
  requirements:
80
- - - "~>"
81
+ - - ">="
81
82
  - !ruby/object:Gem::Version
82
- version: '10.0'
83
+ version: '0'
83
84
  - !ruby/object:Gem::Dependency
84
85
  name: rspec
85
86
  requirement: !ruby/object:Gem::Requirement
86
87
  requirements:
87
- - - "~>"
88
+ - - ">="
88
89
  - !ruby/object:Gem::Version
89
- version: '3.0'
90
+ version: '0'
90
91
  type: :development
91
92
  prerelease: false
92
93
  version_requirements: !ruby/object:Gem::Requirement
93
94
  requirements:
94
- - - "~>"
95
+ - - ">="
95
96
  - !ruby/object:Gem::Version
96
- version: '3.0'
97
+ version: '0'
97
98
  description: Strategies for cleaning databases using Mongoid. Can be used to ensure
98
99
  a clean state for testing.
99
100
  email:
@@ -105,19 +106,25 @@ files:
105
106
  - ".gitignore"
106
107
  - ".rspec"
107
108
  - ".travis.yml"
109
+ - Appraisals
108
110
  - Gemfile
109
- - Gemfile.lock
110
111
  - LICENSE.txt
111
112
  - README.md
112
113
  - Rakefile
113
114
  - bin/console
114
115
  - bin/setup
115
116
  - database_cleaner-mongoid.gemspec
117
+ - gemfiles/.bundle/config
118
+ - gemfiles/mongoid3.gemfile
119
+ - gemfiles/mongoid4.gemfile
120
+ - gemfiles/mongoid5.gemfile
121
+ - gemfiles/mongoid6.gemfile
122
+ - gemfiles/mongoid7.gemfile
116
123
  - lib/database_cleaner-mongoid.rb
117
- - lib/database_cleaner/mongo2/truncation_mixin.rb
118
124
  - lib/database_cleaner/mongoid.rb
119
- - lib/database_cleaner/mongoid/base.rb
120
- - lib/database_cleaner/mongoid/truncation.rb
125
+ - lib/database_cleaner/mongoid/deletion.rb
126
+ - lib/database_cleaner/mongoid/mongoid4_mixin.rb
127
+ - lib/database_cleaner/mongoid/mongoid5_mixin.rb
121
128
  - lib/database_cleaner/mongoid/version.rb
122
129
  homepage: https://github.com/DatabaseCleaner/database_cleaner-mongoid
123
130
  licenses:
@@ -138,7 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
138
145
  - !ruby/object:Gem::Version
139
146
  version: '0'
140
147
  requirements: []
141
- rubygems_version: 3.0.4
148
+ rubygems_version: 3.0.3
142
149
  signing_key:
143
150
  specification_version: 4
144
151
  summary: Strategies for cleaning databases using Mongoid. Can be used to ensure a
@@ -1,72 +0,0 @@
1
- PATH
2
- remote: ../..
3
- specs:
4
- database_cleaner (1.8.0)
5
-
6
- PATH
7
- remote: ..
8
- specs:
9
- database_cleaner-mongo (1.8.0)
10
- database_cleaner (~> 1.8.0)
11
- mongo
12
-
13
- PATH
14
- remote: .
15
- specs:
16
- database_cleaner-mongoid (1.8.0)
17
- database_cleaner (~> 1.8.0)
18
- database_cleaner-mongo (~> 1.8.0)
19
- mongoid
20
-
21
- GEM
22
- remote: https://rubygems.org/
23
- specs:
24
- activemodel (5.2.4.1)
25
- activesupport (= 5.2.4.1)
26
- activesupport (5.2.4.1)
27
- concurrent-ruby (~> 1.0, >= 1.0.2)
28
- i18n (>= 0.7, < 2)
29
- minitest (~> 5.1)
30
- tzinfo (~> 1.1)
31
- bson (4.5.0)
32
- concurrent-ruby (1.1.5)
33
- diff-lcs (1.3)
34
- i18n (1.5.1)
35
- concurrent-ruby (~> 1.0)
36
- minitest (5.14.0)
37
- mongo (2.10.2)
38
- bson (>= 4.4.2, < 5.0.0)
39
- mongoid (7.0.5)
40
- activemodel (>= 5.1, < 6.1)
41
- mongo (>= 2.5.1, < 3.0.0)
42
- rake (10.4.2)
43
- rspec (3.7.0)
44
- rspec-core (~> 3.7.0)
45
- rspec-expectations (~> 3.7.0)
46
- rspec-mocks (~> 3.7.0)
47
- rspec-core (3.7.1)
48
- rspec-support (~> 3.7.0)
49
- rspec-expectations (3.7.0)
50
- diff-lcs (>= 1.2.0, < 2.0)
51
- rspec-support (~> 3.7.0)
52
- rspec-mocks (3.7.0)
53
- diff-lcs (>= 1.2.0, < 2.0)
54
- rspec-support (~> 3.7.0)
55
- rspec-support (3.7.1)
56
- thread_safe (0.3.6)
57
- tzinfo (1.2.6)
58
- thread_safe (~> 0.1)
59
-
60
- PLATFORMS
61
- ruby
62
-
63
- DEPENDENCIES
64
- bundler (~> 1.16)
65
- database_cleaner!
66
- database_cleaner-mongo!
67
- database_cleaner-mongoid!
68
- rake (~> 10.0)
69
- rspec (~> 3.0)
70
-
71
- BUNDLED WITH
72
- 1.17.3
@@ -1,39 +0,0 @@
1
- module DatabaseCleaner
2
- module Mongo2
3
- module TruncationMixin
4
-
5
- def clean
6
- if @only
7
- collections.each { |c| database[c].find.delete_many if @only.include?(c) }
8
- else
9
- collections.each { |c| database[c].find.delete_many unless @tables_to_exclude.include?(c) }
10
- end
11
- true
12
- end
13
-
14
- private
15
-
16
- def database
17
- if @db.nil? || @db == :default
18
- ::Mongoid::Clients.default
19
- else
20
- ::Mongoid::Clients.with_name(@db)
21
- end
22
- end
23
-
24
- def collections
25
- if db != :default
26
- database.use(db)
27
- end
28
-
29
- database.collections.collect { |c| c.namespace.split('.',2)[1] }
30
-
31
- # database['system.namespaces'].find(:name => { '$not' => /\.system\.|\$/ }).to_a.map do |collection|
32
- # _, name = collection['name'].split('.', 2)
33
- # name
34
- # end
35
- end
36
-
37
- end
38
- end
39
- end
@@ -1,20 +0,0 @@
1
- require 'database_cleaner/generic/base'
2
- module DatabaseCleaner
3
- module Mongoid
4
- def self.available_strategies
5
- %w[truncation]
6
- end
7
-
8
- module Base
9
- include ::DatabaseCleaner::Generic::Base
10
-
11
- def db=(desired_db)
12
- @db = desired_db
13
- end
14
-
15
- def db
16
- @db || :default
17
- end
18
- end
19
- end
20
- end
@@ -1,49 +0,0 @@
1
- require 'database_cleaner/mongoid/base'
2
- require 'database_cleaner/generic/truncation'
3
- require 'database_cleaner/mongo/truncation_mixin'
4
- require 'database_cleaner/mongo2/truncation_mixin'
5
- require 'database_cleaner/moped/truncation_base'
6
- require 'mongoid/version'
7
-
8
- module DatabaseCleaner
9
- module Mongoid
10
- class Truncation
11
- include ::DatabaseCleaner::Mongoid::Base
12
- include ::DatabaseCleaner::Generic::Truncation
13
-
14
- if ::Mongoid::VERSION < '3'
15
-
16
- include ::DatabaseCleaner::Mongo::TruncationMixin
17
-
18
- private
19
-
20
- def database
21
- ::Mongoid.database
22
- end
23
-
24
- elsif ::Mongoid::VERSION < '5'
25
-
26
- include ::DatabaseCleaner::Moped::TruncationBase
27
-
28
- private
29
-
30
- def session
31
- ::Mongoid::VERSION > "5.0.0" ? ::Mongoid.default_client : ::Mongoid.default_session
32
- end
33
-
34
- def database
35
- if not(@db.nil? or @db == :default)
36
- ::Mongoid.databases[@db]
37
- else
38
- ::Mongoid.database
39
- end
40
- end
41
-
42
- else
43
-
44
- include ::DatabaseCleaner::Mongo2::TruncationMixin
45
-
46
- end
47
- end
48
- end
49
- end