Class: Hanami::Action::Cache::LastModified Private

Inherits:
Object
  • Object
show all
Defined in:
lib/hanami/action/cache/conditional_get.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

LastModified value object

Since:

  • 0.3.0

Instance Method Summary collapse

Constructor Details

#initialize(env, value) ⇒ LastModified

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of LastModified.

Since:

  • 0.3.0



47
48
49
# File 'lib/hanami/action/cache/conditional_get.rb', line 47

def initialize(env, value)
  @env, @value = env, value
end

Instance Method Details

#fresh?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)

Since:

  • 0.3.0



53
54
55
56
57
58
# File 'lib/hanami/action/cache/conditional_get.rb', line 53

def fresh?
  return false if Hanami::Utils::Blank.blank?(modified_since)
  return false if Hanami::Utils::Blank.blank?(@value)

  Time.httpdate(modified_since).to_i >= @value.to_time.to_i
end

#headerObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Since:

  • 0.3.0



62
63
64
# File 'lib/hanami/action/cache/conditional_get.rb', line 62

def header
  {Action::LAST_MODIFIED => @value.httpdate} if @value.respond_to?(:httpdate)
end