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 83
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 89
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 95
def headers
  @validations.map(&:header).compact.reduce({}, :merge)
end