class Hanami::Action::Cache::ConditionalGet

Class responsible to determine if a given request is fresh based on IF_NONE_MATCH and IF_MODIFIED_SINCE headers

@since 0.3.0 @api private

Public Class Methods

new(env, options) click to toggle source

@since 0.3.0 @api private

# File lib/hanami/action/cache/conditional_get.rb, line 99
def initialize(env, options)
  @validations = [ ETag.new(env, options[:etag]), LastModified.new(env, options[:last_modified]) ]
end

Public Instance Methods

fresh?() { || ... } click to toggle source

@since 0.3.0 @api private

# File lib/hanami/action/cache/conditional_get.rb, line 105
def fresh?
  yield if @validations.any?(&:fresh?)
end
headers() click to toggle source

@since 0.3.0 @api private

# File lib/hanami/action/cache/conditional_get.rb, line 111
def headers
  @validations.map(&:header).compact.reduce Hash.new, :merge
end