module DatabaseCleaner::Mongoid::Mongoid4Mixin

Public Instance Methods

clean() click to toggle source
# File lib/database_cleaner/mongoid/mongoid4_mixin.rb, line 4
def clean
  collections_to_delete.each(&:remove_all)
  wait_for_removals_to_finish
end

Private Instance Methods

collections() click to toggle source
# File lib/database_cleaner/mongoid/mongoid4_mixin.rb, line 15
def collections
  if db != :default
    database.use(db)
  end

  database.command(listCollections: 1, filter: { 'name' => { '$not' => /.?system\.|\$/ } })['cursor']['firstBatch'].map do |collection|
    collection['name']
  end
end
database() click to toggle source
# File lib/database_cleaner/mongoid/mongoid4_mixin.rb, line 11
def database
  ::Mongoid.default_session
end
wait_for_removals_to_finish() click to toggle source
# File lib/database_cleaner/mongoid/mongoid4_mixin.rb, line 25
def wait_for_removals_to_finish
  database.command(getlasterror: 1)
end