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)



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

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



134
135
136
137
# File 'lib/serega/plugins/activerecord_preloads/lib/preloader.rb', line 134

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