aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations/preloader/singular_association.rb
blob: 9f8d98c5a518b8a6d14fa203961d731983b64082 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
module ActiveRecord
  module Associations
    class Preloader
      class SingularAssociation < Association #:nodoc:

        private

          def preload(preloader)
            associated_records_by_owner(preloader).each do |owner, associated_records|
              record = associated_records.first

              association = owner.association(reflection.name)
              association.target = record
              association.set_inverse_instance(record) if record
            end
          end

      end
    end
  end
end