class Rack::TradeTracker::Cookie
Constants
- DIGEST_PARAMS
- NAME
- PATH
- VALUE_PARAMS
Attributes
domain[R]
parameters[R]
Public Class Methods
new(domain, parameters)
click to toggle source
# File lib/rack/trade_tracker/cookie.rb, line 10 def initialize(domain, parameters) @domain, @parameters = domain, parameters end
Public Instance Methods
as_hash()
click to toggle source
# File lib/rack/trade_tracker/cookie.rb, line 33 def as_hash { value: value, domain: ".#{domain}", path: PATH, expires: 1.year.from_now } end
checksum()
click to toggle source
# File lib/rack/trade_tracker/cookie.rb, line 18 def checksum source = "CHK_#{DIGEST_PARAMS.map { |param| params_hash[param] }.join('::')}" Digest::MD5.hexdigest(source) end
name()
click to toggle source
# File lib/rack/trade_tracker/cookie.rb, line 14 def name NAME % params_hash end
timestamp()
click to toggle source
# File lib/rack/trade_tracker/cookie.rb, line 23 def timestamp Time.now.to_i end
value()
click to toggle source
# File lib/rack/trade_tracker/cookie.rb, line 27 def value VALUE_PARAMS.map { |param| params_hash[param] }.tap do |attributes| attributes << checksum << timestamp end.join('::') end
Private Instance Methods
params_hash()
click to toggle source
# File lib/rack/trade_tracker/cookie.rb, line 46 def params_hash @_params_hash ||= parameters.to_hash end