Class: Serega::SeregaPlugins::ActiverecordPreloads::ActiverecordArray

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

Overview

Preloader adapter for Array of ActiveRecord objects

Class Method Summary collapse

Class Method Details

.fit?(object) ⇒ Boolean

Checks object is an array of ActiveRecord::Base objects

Parameters:

  • object (Object)

    object

Returns:

  • (Boolean)

    whether object is an array with ActiveRecord objects (and all objects have same class)



120
121
122
123
124
# File 'lib/serega/plugins/activerecord_preloads/lib/preloader.rb', line 120

def fit?(object)
  object.is_a?(Array) &&
    ActiverecordObject.fit?(object.first) &&
    same_kind?(object)
end

.preload(records, preloads) ⇒ Array<ActiveRecord::Base>

Preloads associations to array with ActiveRecord::Base objects

Parameters:

  • records (Array<ActiveRecord::Base>)

    ActiveRecord records

Returns:

  • (Array<ActiveRecord::Base>)

    provided records with preloaded associations



132
133
134
135
# File 'lib/serega/plugins/activerecord_preloads/lib/preloader.rb', line 132

def preload(records, preloads)
  Loader.call(records, preloads)
  records
end