method
setup_fixture_accessors
v2.2.1 -
Show latest stable
-
0 notes -
Class: Test::Unit::TestCase
- 1.0.0
- 1.1.0
- 1.1.1
- 1.1.6
- 1.2.0
- 1.2.6
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0 (0)
- 2.2.1 (0)
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.1
- 3.2.3
- 3.2.8
- 3.2.13
- What's this?
setup_fixture_accessors(table_names = nil)
public
Hide source
# File activerecord/lib/active_record/fixtures.rb, line 875 def setup_fixture_accessors(table_names = nil) table_names = [table_names] if table_names && !table_names.respond_to?(:each) (table_names || fixture_table_names).each do |table_name| table_name = table_name.to_s.tr('.', '_') define_method(table_name) do |*fixtures| force_reload = fixtures.pop if fixtures.last == true || fixtures.last == :reload @fixture_cache[table_name] ||= {} instances = fixtures.map do |fixture| @fixture_cache[table_name].delete(fixture) if force_reload if @loaded_fixtures[table_name][fixture.to_s] @fixture_cache[table_name][fixture] ||= @loaded_fixtures[table_name][fixture.to_s].find else raise StandardError, "No fixture with name '#{fixture}' found for table '#{table_name}'" end end instances.size == 1 ? instances.first : instances end end end


