-
Notifications
You must be signed in to change notification settings - Fork 27
/
Copy pathjit_preloader.rb
46 lines (40 loc) · 1.42 KB
/
jit_preloader.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# frozen_string_literal: true
require 'active_support/concern'
require 'active_support/core_ext/module/delegation'
require 'active_support/notifications'
require 'active_record'
require 'jit_preloader/version'
require 'jit_preloader/active_record/base'
require 'jit_preloader/active_record/relation'
require 'jit_preloader/active_record/associations/collection_association'
require 'jit_preloader/active_record/associations/singular_association'
if Gem::Version.new(ActiveRecord::VERSION::STRING) >= Gem::Version.new('7.0.0')
require 'jit_preloader/active_record/associations/preloader/ar7_association'
require 'jit_preloader/active_record/associations/preloader/ar7_branch'
elsif Gem::Version.new(ActiveRecord::VERSION::STRING) >= Gem::Version.new('6.1.0')
require 'jit_preloader/active_record/associations/preloader/ar6_association'
else
require 'jit_preloader/active_record/associations/preloader/collection_association'
require 'jit_preloader/active_record/associations/preloader/singular_association'
end
require 'jit_preloader/preloader'
module JitPreloader
def self.globally_enabled=(value)
@enabled = value
end
def self.max_ids_per_query=(max_ids)
if max_ids && max_ids >= 1
@max_ids_per_query = max_ids
end
end
def self.max_ids_per_query
@max_ids_per_query
end
def self.globally_enabled?
if @enabled && @enabled.respond_to?(:call)
@enabled.call
else
@enabled
end
end
end