Sha256: 176acc74e31082ee227b9bc67a3a4fb0ad8cd838fb53ba2fcabed59d5faa588c

Contents?: true

Size: 1.18 KB

Versions: 30

Compression:

Stored size: 1.18 KB

Contents

# frozen_string_literal: true

if Rails::VERSION::MAJOR == 7
  module ArLazyPreload
    module Relation
      def preload_associations(records)
        preload = preload_values
        preload += includes_values unless eager_loading?
        scope = strict_loading_value ? ActiveRecord::Relation::StrictLoadingScope : nil
        preload.each do |associations|
          preloader_associations = ActiveRecord::Associations::Preloader.new(records: records,
                                                                             associations: associations,
                                                                             scope: scope).call

          preloader_associations.each do |preloader_association|
            handle_preloaded_records(preloader_association.preloaded_records)
          end
        end
      end
    end

    module Contexts
      class BaseContext
        def preload_records(association_name, records)
          TemporaryPreloadConfig.within_context do
            ActiveRecord::Associations::Preloader.new(records: records,
                                                      associations: association_name).call
          end
        end
      end
    end
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
motor-admin-0.2.69 lib/motor/active_record_utils/ar_lazy_preload_patch.rb
motor-admin-0.2.68 lib/motor/active_record_utils/ar_lazy_preload_patch.rb
motor-admin-0.2.67 lib/motor/active_record_utils/ar_lazy_preload_patch.rb
motor-admin-0.2.66 lib/motor/active_record_utils/ar_lazy_preload_patch.rb
motor-admin-0.2.65 lib/motor/active_record_utils/ar_lazy_preload_patch.rb
motor-admin-0.2.64 lib/motor/active_record_utils/ar_lazy_preload_patch.rb
motor-admin-0.2.63 lib/motor/active_record_utils/ar_lazy_preload_patch.rb
motor-admin-0.2.62 lib/motor/active_record_utils/ar_lazy_preload_patch.rb
motor-admin-0.2.61 lib/motor/active_record_utils/ar_lazy_preload_patch.rb
motor-admin-0.2.60 lib/motor/active_record_utils/ar_lazy_preload_patch.rb
motor-admin-0.2.59 lib/motor/active_record_utils/ar_lazy_preload_patch.rb
motor-admin-0.2.58 lib/motor/active_record_utils/ar_lazy_preload_patch.rb
motor-admin-0.2.57 lib/motor/active_record_utils/ar_lazy_preload_patch.rb
motor-admin-0.2.56 lib/motor/active_record_utils/ar_lazy_preload_patch.rb
motor-admin-0.2.55 lib/motor/active_record_utils/ar_lazy_preload_patch.rb
motor-admin-0.2.54 lib/motor/active_record_utils/ar_lazy_preload_patch.rb
motor-admin-0.2.53 lib/motor/active_record_utils/ar_lazy_preload_patch.rb
motor-admin-0.2.51 lib/motor/active_record_utils/ar_lazy_preload_patch.rb
motor-admin-0.2.50 lib/motor/active_record_utils/ar_lazy_preload_patch.rb
motor-admin-0.2.49 lib/motor/active_record_utils/ar_lazy_preload_patch.rb