Class: Gamera::Utils::DatabaseCleaner

Inherits:
Object
  • Object
show all
Defined in:
lib/gamera/utils/database_cleaner.rb

Overview

Cleans a database by truncating the tables

Usage:

Gamera::Utils::DatabaseCleaner.new(connection).clean

Or:

Gamera::Utils::DatabaseCleaner.new(connection, tables).clean

connection is a Sequel database connection. tables is an array of table names (string or symbol).

If tables is given, only the tables supplied will be truncated. If tables is not given, all tables in the database will be truncated.

Instance Method Summary collapse

Constructor Details

#initialize(connection, tables = nil) ⇒ DatabaseCleaner

Returns a new instance of DatabaseCleaner.



49
50
51
52
# File 'lib/gamera/utils/database_cleaner.rb', line 49

def initialize(connection, tables = nil)
  @db = connection
  @tables = tables || all_table_names
end

Instance Method Details

#cleanObject

Removes all data from the initialized tables. If no tables were given, removes all data from all tables in the database.

Cleans via truncation.



59
60
61
62
63
64
# File 'lib/gamera/utils/database_cleaner.rb', line 59

def clean
  tables.each do |table|
    db[table].truncate
  end
  nil
end