exposing target records on the preloader
do not access internal data structures
generate fewer objects when grouping
extract exception raising, clean up group_by statement
just read the attribute rather than `send`ing
lhs preload is always a single preload, so just preload one
stop depending on preloader interals so we can create fewer preloader
objects
the hash should only ever be length one, so decompose it
push `run` up to preload
push running the preloaders up
access preloaders independently of model mutations
fix method name
split up construction and mutation
preserve order on the RHS query
return a list rather than hash
combine methods so we can reuse preloaders
cache associated target records hash
hm:t preloading will respect order set on the RHS association
fix variable names and speed up relation ordering
only do the should_reset test once