Module: AdvancedAR::ArbitraryPrefetch

Defined in:
lib/advanced_ar/arbitrary_prefetch.rb

Defined Under Namespace

Modules: ActiveRecordBasePatch, ActiveRecordMergerPatch, ActiveRecordRelationPatch Classes: PrefetcherContext

Class Method Summary collapse

Class Method Details

.installObject



146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# File 'lib/advanced_ar/arbitrary_prefetch.rb', line 146

def self.install
  ::ActiveRecord::Base.include(ActiveRecordBasePatch)
  ::ActiveRecord::Relation.prepend(ActiveRecordRelationPatch)
  ::ActiveRecord::Relation::Merger.prepend(ActiveRecordMergerPatch)

  return unless defined? ::Goldiloader

  ::Goldiloader::AssociationLoader.module_eval do
    def self.has_association?(model, association_name) # rubocop:disable Naming/PredicateName
      model.association(association_name)
      true
    rescue ::ActiveRecord::AssociationNotFoundError => _err
      false
    end
  end
end