Class: Test::Unit::TestCase

Inherits:
Object show all
Includes:
ClassInheritableAttributes
Defined in:
lib/active_record/fixtures.rb

Overview

:nodoc:

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.fixtures(*table_names) ⇒ Object



328
329
330
331
# File 'lib/active_record/fixtures.rb', line 328

def self.fixtures(*table_names)
  require_fixture_classes(table_names)
  write_inheritable_attribute("fixture_table_names", table_names)
end

.method_added(method_symbol) ⇒ Object



347
348
349
350
351
352
353
354
355
# File 'lib/active_record/fixtures.rb', line 347

def self.method_added(method_symbol)
  if method_symbol == :setup && !method_defined?(:setup_without_fixtures)
    alias_method :setup_without_fixtures, :setup
    define_method(:setup) do
      instantiate_fixtures(*fixture_table_names) if fixture_table_names
      setup_without_fixtures
    end
  end
end

.require_fixture_classes(table_names) ⇒ Object



333
334
335
336
337
338
339
340
341
# File 'lib/active_record/fixtures.rb', line 333

def self.require_fixture_classes(table_names)
  table_names.each do |table_name| 
    begin
      require(Inflector.singularize(table_name.to_s))
    rescue LoadError
      # Let's hope the developer is included it himself
    end
  end
end

Instance Method Details

#setupObject



343
344
345
# File 'lib/active_record/fixtures.rb', line 343

def setup
  instantiate_fixtures(*fixture_table_names) if fixture_table_names
end