Sha256: 09f56d01834f8b36d67662989963f0c3cc1fa2b114b8a510580c2271ea5771ab

Contents?: true

Size: 853 Bytes

Versions: 1

Compression:

Stored size: 853 Bytes

Contents

require 'database_cleaner/mongo_mapper/base'
require 'database_cleaner/generic/truncation'

module DatabaseCleaner
  module MongoMapper
    class Truncation
      include ::DatabaseCleaner::MongoMapper::Base
      include ::DatabaseCleaner::Generic::Truncation

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

      private

      def connection
        ::MongoMapper.connection
      end

      def collections
        connection.db(database).collections.select { |c| c.name !~ /^system/ }
      end

      def database
        ::MongoMapper.database.name
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
database_cleaner-0.6.1.rc lib/database_cleaner/mongo_mapper/truncation.rb