module ActiveRecord::Associations
def self.eager_load!
def self.eager_load! super Preloader.eager_load! JoinDependency.eager_load! end
def association(name) # :nodoc:
Returns the association instance for the given name, instantiating it if it doesn't already exist
def association(name) # :nodoc: association = association_instance_get(name) if association.nil? unless reflection = self.class._reflect_on_association(name) raise AssociationNotFoundError.new(self, name) end association = reflection.association_class.new(self, reflection) association_instance_set(name, association) end association end
def association_cached?(name) # :nodoc:
def association_cached?(name) # :nodoc: @association_cache.key?(name) end
def association_instance_get(name)
def association_instance_get(name) @association_cache[name] end
def association_instance_set(name, association)
def association_instance_set(name, association) @association_cache[name] = association end
def init_internals
def init_internals super @association_cache = {} end
def initialize_dup(*) # :nodoc:
def initialize_dup(*) # :nodoc: @association_cache = {} super end