module Frikandel::LimitSessionLifetime

Private Instance Methods

persist_session_timestamp() click to toggle source
# File lib/frikandel/limit_session_lifetime.rb, line 34
def persist_session_timestamp
  session[:ttl] = Time.now
  session[:max_ttl] ||= Frikandel::Configuration.max_ttl.since
end
reached_max_ttl?() click to toggle source
# File lib/frikandel/limit_session_lifetime.rb, line 30
def reached_max_ttl?
  session[:max_ttl] < Time.now
end
reached_ttl?() click to toggle source
# File lib/frikandel/limit_session_lifetime.rb, line 26
def reached_ttl?
  session[:ttl] < Frikandel::Configuration.ttl.ago
end
reset_session() click to toggle source
Calls superclass method
# File lib/frikandel/limit_session_lifetime.rb, line 39
def reset_session
  super
  persist_session_timestamp
end
validate_session_timestamp() click to toggle source
# File lib/frikandel/limit_session_lifetime.rb, line 16
def validate_session_timestamp
  if session.key?(:ttl) && session.key?(:max_ttl) && (reached_ttl? || reached_max_ttl?)
    on_invalid_session
  elsif !session.key?(:ttl) || !session.key?(:max_ttl)
    reset_session
  else # session timestamp is valid
    persist_session_timestamp
  end
end