Class: Serega::SeregaPlugins::ActiverecordPreloads::ActiverecordRelation

Inherits:
Object
  • Object
show all
Defined in:
lib/serega/plugins/activerecord_preloads/lib/preloader.rb

Overview

Preloader adapter for ActiveRecord::Relation

Class Method Summary collapse

Class Method Details

.fit?(object) ⇒ Boolean

Checks object is kind of ActiveRecord::Relation

Parameters:

  • object (Object)

    object to check

Returns:

  • (Boolean)

    whether object is kind of ActiveRecord::Relation



93
94
95
# File 'lib/serega/plugins/activerecord_preloads/lib/preloader.rb', line 93

def fit?(object)
  object.is_a?(ActiveRecord::Relation)
end

.preload(scope, preloads) ⇒ ActiveRecord::Relation

Preloads associations to ActiveRecord::Relation

Parameters:

  • scope (ActiveRecord::Relation)

    scope

Returns:

  • (ActiveRecord::Relation)

    provided scope with preloaded associations



103
104
105
106
107
# File 'lib/serega/plugins/activerecord_preloads/lib/preloader.rb', line 103

def preload(scope, preloads)
  scope.load
  Loader.call(scope.to_a, preloads)
  scope
end