Class: ActiveRecord::Associations::Preloader::AlreadyLoaded

Inherits:
Object
  • Object
show all
Defined in:
lib/active_record/associations/preloader.rb

Overview

:nodoc:

Instance Method Summary collapse

Constructor Details

#initialize(klass, owners, reflection, preload_scope) ⇒ AlreadyLoaded

Returns a new instance of AlreadyLoaded.



161
162
163
164
# File 'lib/active_record/associations/preloader.rb', line 161

def initialize(klass, owners, reflection, preload_scope)
  @owners = owners
  @reflection = reflection
end

Instance Method Details

#preloaded_recordsObject



170
171
172
# File 'lib/active_record/associations/preloader.rb', line 170

def preloaded_records
  @preloaded_records ||= records_by_owner.flat_map(&:last)
end

#records_by_ownerObject



174
175
176
177
178
# File 'lib/active_record/associations/preloader.rb', line 174

def records_by_owner
  @records_by_owner ||= owners.each_with_object({}) do |owner, result|
    result[owner] = Array(owner.association(reflection.name).target)
  end
end

#runObject



166
167
168
# File 'lib/active_record/associations/preloader.rb', line 166

def run
  self
end