3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/jit_preloader/active_record/associations/singular_association.rb', line 3
def load_target_with_jit
was_loaded = loaded?
if !loaded? && owner.persisted? && owner.jit_preloader
owner.jit_preloader.jit_preload(reflection.name)
end
jit_loaded = loaded?
load_target_without_jit.tap do |record|
if owner.persisted? && !was_loaded
record.jit_n_plus_one_tracking ||= owner.jit_n_plus_one_tracking if record
if !jit_loaded && owner.jit_n_plus_one_tracking
ActiveSupport::Notifications.publish("n_plus_one_query",
source: owner, association: reflection.name)
end
end
end
end
|