class Greed::Cookie::ExpirationHandler

Public Instance Methods

calculate_expiration(current_time, max_age, expires) click to toggle source
# File lib/greed/cookie/expiration_handler.rb, line 13
def calculate_expiration(current_time, max_age, expires)
  {
    expires: if max_age
      current_time + max_age.seconds
    else
      expires
    end,
    retrieved_at: current_time,
  }.tap do |tapped|
    tapped_expires = tapped[:expires]
    return tapped unless tapped_expires # keep session cookie
    raise Expired unless (current_time < tapped_expires) # reject expired cookie
  end
end