34 lines
717 B
Ruby
34 lines
717 B
Ruby
module ActiveRecord
|
|
class QueryCache
|
|
module ClassMethods
|
|
# Enable the query cache within the block if Active Record is configured.
|
|
def cache(&block)
|
|
if ActiveRecord::Base.configurations.blank?
|
|
yield
|
|
else
|
|
connection.cache(&block)
|
|
end
|
|
end
|
|
|
|
# Disable the query cache within the block if Active Record is configured.
|
|
def uncached(&block)
|
|
if ActiveRecord::Base.configurations.blank?
|
|
yield
|
|
else
|
|
connection.uncached(&block)
|
|
end
|
|
end
|
|
end
|
|
|
|
def initialize(app)
|
|
@app = app
|
|
end
|
|
|
|
def call(env)
|
|
ActiveRecord::Base.cache do
|
|
@app.call(env)
|
|
end
|
|
end
|
|
end
|
|
end
|