module ActiveRecord::QueryCache::ClassMethods

def cache(&block)

If it's not, it will execute the given block.
Enable the query cache within the block if Active Record is configured.
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
  end
end