module Makara::Cookie

Constants

DEFAULT_OPTIONS
IDENTIFIER
MAX_AGE_BUFFER

Public Instance Methods

fetch(request) click to toggle source
# File lib/makara/cookie.rb, line 14
def fetch(request)
  parse(request.cookies[IDENTIFIER].to_s)
end
store(context_data, headers, options = {}) click to toggle source
# File lib/makara/cookie.rb, line 18
def store(context_data, headers, options = {})
  unless context_data.nil?
    Rack::Utils.set_cookie_header! headers, IDENTIFIER, build_cookie(context_data, options)
  end
end

Private Instance Methods

parse(cookie_string) click to toggle source

Pairs of {proxy_id}:{timestamp}, separated by “|” proxy_id1:1518270031.3132212|proxy_id2:1518270030.313232 ..

# File lib/makara/cookie.rb, line 28
def parse(cookie_string)
  return {} if cookie_string.empty?

  states = cookie_string.split("|")
  states.each_with_object({}) do |state, context_data|
    proxy_id, timestamp = state.split(":")
    context_data[proxy_id] = timestamp.to_f if proxy_id && timestamp
  end
end