class ActiveRecord::FixtureSet::ClassCache
def [](fs_name)
def [](fs_name) @class_names.fetch(fs_name) { klass = default_fixture_model(fs_name, @config).safe_constantize insert_class(@class_names, fs_name, klass) } end
def default_fixture_model(fs_name, config)
def default_fixture_model(fs_name, config) ActiveRecord::FixtureSet.default_fixture_model_name(fs_name, config) end
def initialize(class_names, config)
def initialize(class_names, config) @class_names = class_names.stringify_keys @config = config # Remove string values that aren't constants or subclasses of AR @class_names.delete_if { |k,klass| unless klass.is_a? Class klass = klass.safe_constantize ActiveSupport::Deprecation.warn("The ability to pass in strings as a class name will be removed in Rails 4.2, consider using the class itself instead.") end !insert_class(@class_names, k, klass) } end
def insert_class(class_names, name, klass)
def insert_class(class_names, name, klass) # We only want to deal with AR objects. if klass && klass < ActiveRecord::Base class_names[name] = klass else class_names[name] = nil end end