Class: Serega::SeregaPlugins::ActiverecordPreloads::ActiverecordEnumerator

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

Overview

Preloader adapter for Enumerator with ActiveRecord objects

Class Method Summary collapse

Class Method Details

.fit?(object) ⇒ Boolean

Checks object is an Enumerator with each value is a ActiveRecord::Base object

Parameters:

  • object (Object)

    object

Returns:

  • (Boolean)

    whether object is an Enumerator with each value is a ActiveRecord::Base object



157
158
159
160
# File 'lib/serega/plugins/activerecord_preloads/lib/preloader.rb', line 157

def fit?(object)
  object.is_a?(Enumerator) &&
    ActiverecordArray.fit?(object.to_a)
end

.preload(enum, preloads) ⇒ Enumerator<ActiveRecord::Base>

Preloads associations to Enumerator with ActiveRecord::Base objects

Parameters:

  • enum (Enumerator<ActiveRecord::Base>)

    enum

Returns:

  • (Enumerator<ActiveRecord::Base>)

    provided enumerator with preloaded associations



168
169
170
171
# File 'lib/serega/plugins/activerecord_preloads/lib/preloader.rb', line 168

def preload(enum, preloads)
  ActiverecordArray.preload(enum.to_a, preloads)
  enum
end