class Split::Persistence::CookieAdapter
Public Class Methods
new(context)
click to toggle source
# File lib/split/persistence/cookie_adapter.rb, line 8 def initialize(context) @context = context @request, @response = context.request, context.response @cookies = @request.cookies @expires = Time.now + cookie_length_config end
Public Instance Methods
[](key)
click to toggle source
# File lib/split/persistence/cookie_adapter.rb, line 15 def [](key) hash[key.to_s] end
[]=(key, value)
click to toggle source
# File lib/split/persistence/cookie_adapter.rb, line 19 def []=(key, value) set_cookie(hash.merge!(key.to_s => value)) end
delete(key)
click to toggle source
# File lib/split/persistence/cookie_adapter.rb, line 23 def delete(key) set_cookie(hash.tap { |h| h.delete(key.to_s) }) end
keys()
click to toggle source
# File lib/split/persistence/cookie_adapter.rb, line 27 def keys hash.keys end
Private Instance Methods
action_dispatch?()
click to toggle source
# File lib/split/persistence/cookie_adapter.rb, line 89 def action_dispatch? defined?(Rails) && @response.is_a?(ActionDispatch::Response) end
default_options()
click to toggle source
# File lib/split/persistence/cookie_adapter.rb, line 46 def default_options { expires: @expires, path: '/' } end
hash()
click to toggle source
# File lib/split/persistence/cookie_adapter.rb, line 71 def hash @hash ||= begin if cookies = @cookies[:split.to_s] begin JSON.parse(cookies) rescue JSON::ParserError {} end else {} end end end