Sha256: 5708d010878cb6563c62fa1c7a2329ca1612d51ff6a227180593614b80743ea0

Contents?: true

Size: 633 Bytes

Versions: 27

Compression:

Stored size: 633 Bytes

Contents

module DatabaseCleaner
  module Mongo
    module TruncationMixin

      def clean
        if @only
          collections.each { |c| c.send(truncate_method_name) if @only.include?(c.name) }
        else
          collections.each { |c| c.send(truncate_method_name) unless @tables_to_exclude.include?(c.name) }
        end
        true
      end

      private

      def collections
        database.collections.select { |c| c.name !~ /^system\./ }
      end

      def truncate_method_name
        # This constant only exists in the 2.x series.
        defined?(::Mongo::VERSION) ? :delete_many : :remove
      end
    end
  end
end

Version data entries

27 entries across 27 versions & 3 rubygems

Version Path
database_cleaner-mongo-1.99.0 lib/database_cleaner/mongo/truncation_mixin.rb
database_cleaner-1.99.0 adapters/database_cleaner-mongo/lib/database_cleaner/mongo/truncation_mixin.rb
database_cleaner-1.99.0.beta adapters/database_cleaner-mongo/lib/database_cleaner/mongo/truncation_mixin.rb
database_cleaner-mongo-1.99.0.beta lib/database_cleaner/mongo/truncation_mixin.rb
database_cleaner-mongo-1.8.1 lib/database_cleaner/mongo/truncation_mixin.rb
database_cleaner-1.8.5 adapters/database_cleaner-mongo/lib/database_cleaner/mongo/truncation_mixin.rb
database_cleaner-1.8.4 adapters/database_cleaner-mongo/lib/database_cleaner/mongo/truncation_mixin.rb
database_cleaner-1.8.3 adapters/database_cleaner-mongo/lib/database_cleaner/mongo/truncation_mixin.rb
database_cleaner-1.8.2 adapters/database_cleaner-mongo/lib/database_cleaner/mongo/truncation_mixin.rb
database_cleaner-1.8.1 adapters/database_cleaner-mongo/lib/database_cleaner/mongo/truncation_mixin.rb
database_cleaner-1.8.0 adapters/database_cleaner-mongo/lib/database_cleaner/mongo/truncation_mixin.rb
database_cleaner-mongo-1.8.0 lib/database_cleaner/mongo/truncation_mixin.rb
database_cleaner-1.8.0.beta adapters/database_cleaner-mongo/lib/database_cleaner/mongo/truncation_mixin.rb
database_cleaner-mongo-1.8.0.beta lib/database_cleaner/mongo/truncation_mixin.rb
database_cleaner-1.7.0 lib/database_cleaner/mongo/truncation_mixin.rb
database_cleaner-1.6.2 lib/database_cleaner/mongo/truncation_mixin.rb
database_cleaner-1.6.1 lib/database_cleaner/mongo/truncation_mixin.rb
database_cleaner-1.6.0 lib/database_cleaner/mongo/truncation_mixin.rb
autocompl-0.2.2 test/dummy/vendor/bundle/ruby/2.3.0/gems/database_cleaner-1.5.3/lib/database_cleaner/mongo/truncation_mixin.rb
autocompl-0.2.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/database_cleaner-1.5.3/lib/database_cleaner/mongo/truncation_mixin.rb