database_cleaner-mongoid 1.8.0 → 2.0.1

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: 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