Sha256: d9b885e150dd749b270f0f915f471fd7289d6a2b3e9aeca8b7b647923812d8f6

Contents?: true

Size: 1.1 KB

Versions: 11

Compression:

Stored size: 1.1 KB

Contents

# frozen_string_literal: true

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 Railtie < Rails::Railtie
    config.to_prepare do |_app|
      ActiveSupport.on_load(:active_record) do
        ActiveRecord::Base.include(Base)

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

        [
          ActiveRecord::Associations::CollectionAssociation,
          ActiveRecord::Associations::Association
        ].each { |klass| klass.prepend(Association) }

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

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
ar_lazy_preload-0.7.0 lib/ar_lazy_preload/railtie.rb
ar_lazy_preload-0.6.2 lib/ar_lazy_preload/railtie.rb
ar_lazy_preload-0.6.1 lib/ar_lazy_preload/railtie.rb
ar_lazy_preload-0.6.0 lib/ar_lazy_preload/railtie.rb
ar_lazy_preload-0.5.2 lib/ar_lazy_preload/railtie.rb
ar_lazy_preload-0.5.1 lib/ar_lazy_preload/railtie.rb
ar_lazy_preload-0.5.0 lib/ar_lazy_preload/railtie.rb
ar_lazy_preload-0.4.0 lib/ar_lazy_preload/railtie.rb
ar_lazy_preload-0.3.2 lib/ar_lazy_preload/railtie.rb
ar_lazy_preload-0.3.1 lib/ar_lazy_preload/railtie.rb
ar_lazy_preload-0.3.0 lib/ar_lazy_preload/railtie.rb