Module: Sequel::Plugins::TacticalEagerLoading

Defined in:
lib/sequel/lib/sequel/plugins/tactical_eager_loading.rb

Overview

The tactical_eager_loading plugin allows you to eagerly load an association for all objects retrieved from the same dataset without calling eager on the dataset. If you attempt to load associated objects for a record and the association for that object is currently not cached, it assumes you want to get the associated objects for all objects retrieved with the dataset that retrieved the current object.

Tactical eager loading only takes affect if you retrieved the current object with Dataset#all, it doesn't work if you retrieved the current object with Dataset#each.

Basically, this allows the following code to issue only two queries:

Album.filter{id<100}.all do |a|
  a.artists
end

Defined Under Namespace

Modules: DatasetMethods, InstanceMethods