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
|