Class: Test::Unit::TestCase
- Inherits:
-
Object
- Object
- Test::Unit::TestCase
- Includes:
- ClassInheritableAttributes
- Defined in:
- lib/active_record/fixtures.rb
Overview
:nodoc:
Class Method Summary collapse
- .fixtures(*table_names) ⇒ Object
- .method_added(method) ⇒ Object
- .require_fixture_classes(table_names = nil) ⇒ Object
Instance Method Summary collapse
- #setup_with_fixtures ⇒ Object (also: #setup)
- #teardown_with_fixtures ⇒ Object (also: #teardown)
Class Method Details
.fixtures(*table_names) ⇒ Object
403 404 405 406 |
# File 'lib/active_record/fixtures.rb', line 403 def self.fixtures(*table_names) self.fixture_table_names |= table_names.flatten require_fixture_classes end |
.method_added(method) ⇒ Object
451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 |
# File 'lib/active_record/fixtures.rb', line 451 def self.method_added(method) case method.to_s when 'setup' unless method_defined?(:setup_without_fixtures) alias_method :setup_without_fixtures, :setup define_method(:setup) do setup_with_fixtures setup_without_fixtures end end when 'teardown' unless method_defined?(:teardown_without_fixtures) alias_method :teardown_without_fixtures, :teardown define_method(:teardown) do teardown_without_fixtures teardown_with_fixtures end end end end |
.require_fixture_classes(table_names = nil) ⇒ Object
408 409 410 411 412 413 414 415 416 |
# File 'lib/active_record/fixtures.rb', line 408 def self.require_fixture_classes(table_names=nil) (table_names || fixture_table_names).each do |table_name| begin require Inflector.singularize(table_name.to_s) rescue LoadError # Let's hope the developer has included it himself end end end |
Instance Method Details
#setup_with_fixtures ⇒ Object Also known as: setup
418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 |
# File 'lib/active_record/fixtures.rb', line 418 def setup_with_fixtures if pre_loaded_fixtures && !use_transactional_fixtures raise RuntimeError, 'pre_loaded_fixtures requires use_transactional_fixtures' end # Load fixtures once and begin transaction. if use_transactional_fixtures load_fixtures unless @already_loaded_fixtures @already_loaded_fixtures = true ActiveRecord::Base.lock_mutex ActiveRecord::Base.connection.begin_db_transaction # Load fixtures for every test. else load_fixtures end # Instantiate fixtures for every test if requested. instantiate_fixtures if use_instantiated_fixtures end |
#teardown_with_fixtures ⇒ Object Also known as: teardown
441 442 443 444 445 446 447 |
# File 'lib/active_record/fixtures.rb', line 441 def teardown_with_fixtures # Rollback changes. if use_transactional_fixtures ActiveRecord::Base.connection.rollback_db_transaction ActiveRecord::Base.unlock_mutex end end |