lib/database_cleaner/mongoid/deletion.rb in database_cleaner-mongoid-1.99.0 vs lib/database_cleaner/mongoid/deletion.rb in database_cleaner-mongoid-2.0.0.beta

- old
+ new

@@ -1,10 +1,30 @@ -require 'database_cleaner/mongoid/truncation' +require 'database_cleaner/strategy' +require 'database_cleaner/mongoid/mongoid4_mixin' +require 'database_cleaner/mongoid/mongoid5_mixin' +require 'mongoid/version' module DatabaseCleaner module Mongoid - class Deletion < Truncation + class Deletion < Strategy + def initialize only: [], except: [] + @only = only + @except = except + end + + if ::Mongoid::VERSION < '5' + include ::DatabaseCleaner::Mongoid::Mongoid4Mixin + else + include ::DatabaseCleaner::Mongoid::Mongoid5Mixin + end + + private + + def collections_to_delete + only = @only.any? ? @only : collections + (only - @except).map do |name| + database[name].find + end + end end end end - -