class Rack::AcornCache::CacheMaintenance
Attributes
cache_key[R]
cached_response[R]
response[R]
server_response[R]
Public Class Methods
new(cache_key, server_response, cached_response)
click to toggle source
# File lib/acorn_cache/cache_maintenance.rb, line 5 def initialize(cache_key, server_response, cached_response) @cache_key = cache_key @server_response = server_response @cached_response = cached_response end
Public Instance Methods
update_cache()
click to toggle source
# File lib/acorn_cache/cache_maintenance.rb, line 11 def update_cache if !server_response @response = cached_response.add_acorn_cache_header! elsif !server_response.cacheable? && !server_response.status_304? @response = server_response elsif server_response.cacheable? @response = server_response.cache!(cache_key) elsif cached_response.matches?(server_response) @response = cached_response.update_date_and_recache!(cache_key) else @response = server_response end self end