module DatabaseCleaner::Generic::Truncation

Public Class Methods

new(opts={}) click to toggle source
# File lib/database_cleaner/generic/truncation.rb, line 4
def initialize(opts={})
  if !opts.empty? && !(opts.keys - [:only, :except, :pre_count, :reset_ids, :cache_tables]).empty?
    raise ArgumentError, "The only valid options are :only, :except, :pre_count, :reset_ids or :cache_tables. You specified #{opts.keys.join(',')}."
  end
  if opts.has_key?(:only) && opts.has_key?(:except)
    raise ArgumentError, "You may only specify either :only or :except.  Doing both doesn't really make sense does it?"
  end

  @only = opts[:only]
  @tables_to_exclude = Array( (opts[:except] || []).dup ).flatten
  @tables_to_exclude += migration_storage_names
  @pre_count = opts[:pre_count]
  @reset_ids = opts[:reset_ids]
  @cache_tables = opts.has_key?(:cache_tables) ? !!opts[:cache_tables] : true
end

Public Instance Methods

clean() click to toggle source
# File lib/database_cleaner/generic/truncation.rb, line 24
def clean
  raise NotImplementedError
end
start() click to toggle source
# File lib/database_cleaner/generic/truncation.rb, line 20
def start
  #included for compatability reasons, do nothing if you don't need to
end

Private Instance Methods

migration_storage_names() click to toggle source

overwrite in subclasses default implementation given because migration storage need not be present

# File lib/database_cleaner/generic/truncation.rb, line 35
def migration_storage_names
  %w[]
end
tables_to_truncate() click to toggle source
# File lib/database_cleaner/generic/truncation.rb, line 29
def tables_to_truncate
  raise NotImplementedError
end