module DeferredLoader::ActiveRecordExtention
Public Class Methods
define_association_with_deferred(association)
click to toggle source
# File lib/deferred_loader/active_record_extention.rb, line 10 def self.define_association_with_deferred(association) define_singleton_method(association.to_s + "_with_deferred") do |instances| load_association_with_deferred(association, instances) end end
load_association_with_deferred(ass, instances)
click to toggle source
# File lib/deferred_loader/active_record_extention.rb, line 16 def self.load_association_with_deferred(ass, instances) not_loaded = instances.select {|i| !i.association(ass).loaded? } @@preloader.preload(not_loaded, ass) instances.collect {|i| i.send(ass) } end