Sha256: f709f50e9031c26971fe5222698049b7b9a445929fb5d872548cb7c76396ecbc

Contents?: true

Size: 1.21 KB

Versions: 2

Compression:

Stored size: 1.21 KB

Contents

# frozen_string_literal: true

require "ar_lazy_preload/configuration"
require "ar_lazy_preload/railtie" if defined?(::Rails)

require "ar_lazy_preload/active_record/base"
require "ar_lazy_preload/active_record/relation"
require "ar_lazy_preload/active_record/association"
require "ar_lazy_preload/active_record/collection_association"
require "ar_lazy_preload/active_record/merger"
require "ar_lazy_preload/active_record/association_relation"
require "ar_lazy_preload/active_record/collection_proxy"

module ArLazyPreload
  class << self
    def config
      @config ||= Configuration.new
    end

    def install_hooks
      ActiveRecord::Base.include(Base)

      ActiveRecord::Relation.prepend(Relation)
      ActiveRecord::AssociationRelation.prepend(AssociationRelation)
      ActiveRecord::Relation::Merger.prepend(Merger)

      ActiveRecord::Associations::CollectionAssociation.prepend(Association)
      ActiveRecord::Associations::Association.prepend(Association)

      ActiveRecord::Associations::CollectionAssociation.prepend(CollectionAssociation)
      ActiveRecord::Associations::CollectionProxy.prepend(CollectionProxy)

      ArLazyPreload::Preloader.patch_for_rails_7! if ActiveRecord::VERSION::MAJOR >= 7
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ar_lazy_preload-2.1.0 lib/ar_lazy_preload.rb
ar_lazy_preload-2.0.0 lib/ar_lazy_preload.rb