Enable the query cache within the block if Active Record is configured. If it’s not, it will execute the given block. # File activerecord/lib/active_record/query_cache.rb, line 9 def cache(&block) if connected? || !configurations.empty? pool = connection_pool was_enabled = pool.query_cache_enabled begin pool.enable_query_cache(&block) ensure pool.clear_query_cache unless was_enabled end else yield