class DatabaseCleaner::ActiveRecord::Truncation
Public Instance Methods
clean()
click to toggle source
# File lib/database_cleaner/active_record/truncation.rb, line 233 def clean connection = connection_class.connection connection.disable_referential_integrity do if pre_count? && connection.respond_to?(:pre_count_truncate_tables) connection.pre_count_truncate_tables(tables_to_truncate(connection), {:reset_ids => reset_ids?}) else connection.truncate_tables(tables_to_truncate(connection)) end end end
Private Instance Methods
cache_tables?()
click to toggle source
# File lib/database_cleaner/active_record/truncation.rb, line 263 def cache_tables? !!@cache_tables end
migration_storage_names()
click to toggle source
overwritten
# File lib/database_cleaner/active_record/truncation.rb, line 259 def migration_storage_names [::ActiveRecord::Migrator.schema_migrations_table_name] end
pre_count?()
click to toggle source
# File lib/database_cleaner/active_record/truncation.rb, line 267 def pre_count? @pre_count == true end
reset_ids?()
click to toggle source
# File lib/database_cleaner/active_record/truncation.rb, line 271 def reset_ids? @reset_ids != false end
tables_to_truncate(connection)
click to toggle source
# File lib/database_cleaner/active_record/truncation.rb, line 246 def tables_to_truncate(connection) tables_in_db = cache_tables? ? connection.database_cleaner_table_cache : connection.tables to_reject = (@tables_to_exclude + connection.database_cleaner_view_cache) (@only || tables_in_db).reject do |table| if ( m = table.match(/([^.]+)$/) ) to_reject.include?(m[1]) else false end end end