method
access_fixture
v7.1.3.4 -
Show latest stable
- Class:
ActiveRecord::TestFixtures
access_fixture(fs_name, *fixture_names)private
No documentation available.
# File activerecord/lib/active_record/test_fixtures.rb, line 290
def access_fixture(fs_name, *fixture_names)
force_reload = fixture_names.pop if fixture_names.last == true || fixture_names.last == :reload
return_single_record = fixture_names.size == 1
fixture_names = @loaded_fixtures[fs_name].fixtures.keys if fixture_names.empty?
@fixture_cache[fs_name] ||= {}
instances = fixture_names.map do |f_name|
f_name = f_name.to_s if f_name.is_a?(Symbol)
@fixture_cache[fs_name].delete(f_name) if force_reload
if @loaded_fixtures[fs_name][f_name]
@fixture_cache[fs_name][f_name] ||= @loaded_fixtures[fs_name][f_name].find
else
raise StandardError, "No fixture named '#{f_name}' found for fixture set '#{fs_name}'"
end
end
return_single_record ? instances.first : instances
end