[](orm,opts = {})
click to toggle source
def [](orm,opts = {})
raise NoORMDetected unless orm
init_cleaners
if @cleaners.has_key? [orm, opts]
@cleaners[[orm, opts]]
else
add_cleaner(orm, opts)
end
end
add_cleaner(orm,opts = {})
click to toggle source
def add_cleaner(orm,opts = {})
init_cleaners
cleaner = DatabaseCleaner::Base.new(orm,opts)
@cleaners[[orm, opts]] = cleaner
@connections << cleaner
cleaner
end
app_root()
click to toggle source
def app_root
@app_root || Dir.pwd
end
app_root=(desired_root)
click to toggle source
def app_root=(desired_root)
@app_root = desired_root
end
clean()
click to toggle source
def clean
connections.each { |connection| connection.clean }
end
clean!()
click to toggle source
clean_with(*args)
click to toggle source
def clean_with(*args)
connections.each { |connection| connection.clean_with(*args) }
end
clean_with!(*args)
click to toggle source
connections()
click to toggle source
def connections
unless @cleaners
autodetected = ::DatabaseCleaner::Base.new
add_cleaner(autodetected.orm)
end
@connections
end
init_cleaners()
click to toggle source
def init_cleaners
@cleaners ||= {}
@connections ||= []
end
logger()
click to toggle source
def logger
return @logger if @logger
@logger = Logger.new(STDOUT)
@logger.level = Logger::ERROR
@logger
end
logger=(log_source)
click to toggle source
def logger=(log_source)
@logger = log_source
end
orm=(orm)
click to toggle source
def orm=(orm)
connections.each { |connect| connect.orm = orm }
remove_duplicates
end
orm_module(symbol)
click to toggle source
def orm_module(symbol)
case symbol
when :active_record
DatabaseCleaner::ActiveRecord
when :data_mapper
DatabaseCleaner::DataMapper
when :mongo
DatabaseCleaner::Mongo
when :mongoid
DatabaseCleaner::Mongoid
when :mongo_mapper
DatabaseCleaner::MongoMapper
when :moped
DatabaseCleaner::Moped
when :couch_potato
DatabaseCleaner::CouchPotato
when :sequel
DatabaseCleaner::Sequel
end
end
remove_duplicates()
click to toggle source
def remove_duplicates
temp = []
connections.each do |connect|
temp.push connect unless temp.include? connect
end
@connections = temp
end
start()
click to toggle source
def start
connections.each { |connection| connection.start }
end
strategy=(stratagem)
click to toggle source
def strategy=(stratagem)
connections.each { |connect| connect.strategy = stratagem }
remove_duplicates
end