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



95
96
97
# File 'lib/serega/plugins/activerecord_preloads/lib/preloader.rb', line 95

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



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

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