class ClassCache
Public Class Methods
new(class_names)
click to toggle source
# File lib/mongoid/fixture_set/class_cache.rb, line 2 def initialize(class_names) @class_names = class_names.stringify_keys # Remove string values that aren't constants or subclasses of Mongoid::Document @class_names.delete_if { |klass_name, klass| !insert_class(@class_names, klass_name, klass) } end
Public Instance Methods
[](fs_name)
click to toggle source
# File lib/mongoid/fixture_set/class_cache.rb, line 8 def [](fs_name) @class_names.fetch(fs_name) { klass = default_fixture_model(fs_name).safe_constantize insert_class(@class_names, fs_name, klass) } end
Private Instance Methods
default_fixture_model(fs_name)
click to toggle source
# File lib/mongoid/fixture_set/class_cache.rb, line 25 def default_fixture_model(fs_name) Mongoid::FixtureSet.default_fixture_model_name(fs_name) end
insert_class(class_names, name, klass)
click to toggle source
# File lib/mongoid/fixture_set/class_cache.rb, line 16 def insert_class(class_names, name, klass) # We only want to deal with Mongoid objects. if klass && klass < Mongoid::Document class_names[name] = klass else class_names[name] = nil end end