Skip to Content Skip to Search

module ActiveRecord::QueryCache::ClassMethods

Public instance methods

Enable the query cache within the block if Active Record is configured. If it’s not, it will execute the given block.

Source code GitHub
# 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
  end
end

Disable the query cache within the block if Active Record is configured. If it’s not, it will execute the given block.

Source code GitHub
# File activerecord/lib/active_record/query_cache.rb, line 25
def uncached(&block)
  if connected? || !configurations.empty?
    connection_pool.disable_query_cache(&block)
  else
    yield
  end
end

Definition files