Tidy-up batchable preloading
The following discussion from !67909 (merged) should be addressed:
-
@alexkalderimis started a discussion: This was a working first pass, but I think we can probably do a little better (at least, as far as maintainability goes!).
If we use
Preloader#preload
inside a batch loader, then we could write this as:def title BatchLoader::GraphQL.for(object).batch do |lists, callback| preloader = ActiveRecord::Associations::Preloader.new(lists, :label) preloader.run # all list titles are preloaded at this point lists.each { |list| callback.call(list, list.title) } end end
which avoids manually assigning the label, knowing how to do the preload, and fiddling with laziness. All of which are fairly low-level concerns.