Sha256: 2d107f5813cf8c2cf6471185a74fa7e3aa36c1cfd92153751e4bab31242986e6
Contents?: true
Size: 1.06 KB
Versions: 22
Compression:
Stored size: 1.06 KB
Contents
module ActiveFedora # = Active Fedora Ldp Cache class LdpCache module ClassMethods # Enable the query cache within the block if Active Fedora is configured. # If it's not, it will execute the given block. def cache(&block) connection = ActiveFedora.fedora.connection connection.cache(&block) end # Disable the query cache within the block if Active Fedora is configured. # If it's not, it will execute the given block. def uncached(&block) ActiveFedora.fedora.connection.uncached(&block) end end def initialize(app) @app = app end def call(env) ActiveFedora.fedora.connection.enable_cache! response = @app.call(env) response[2] = Rack::BodyProxy.new(response[2]) do reset_cache_settings end response rescue Exception => e reset_cache_settings raise e end private def reset_cache_settings ActiveFedora.fedora.connection.clear_cache ActiveFedora.fedora.connection.disable_cache! end end end
Version data entries
22 entries across 22 versions & 1 rubygems