@NolanChan , this looks like the right idea, but our practice thus far has been to keep CampusOracle::Queries strictly confined to the SQL itself & to keep any caching at a higher layer. Would you be OK with moving the photo-handling logic into a small models/user/ class?

@chikoon , @ctweney , neither I nor @NolanChan were able to make Rails controller-action caching kick in for us with this image fetching, & since https://github.com/rails/actionpack-action_caching only promises to "offically maintain" the gem until Rails 4.1, I suggested looking into our normal, more explicit, caching approach rather than continue to tinker with it.