Class: Prelude::Preloader

Inherits:
Object
  • Object
show all
Defined in:
lib/prelude/preloader.rb

Instance Method Summary collapse

Constructor Details

#initialize(klass, records) ⇒ Preloader

Returns a new instance of Preloader.



3
4
5
6
# File 'lib/prelude/preloader.rb', line 3

def initialize(klass, records)
  @klass = klass
  @records = records
end

Instance Method Details

#fetch(name, *args) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/prelude/preloader.rb', line 8

def fetch(name, *args)
  method = @klass.prelude_methods.fetch(name)

  # Load and set the results for each record
  results = preload(method, args)
  @records.each do |record|
    record.set_preloaded_value_for(name, args, results[record])
  end

  results
end