Sha256: efaa9b3cb3dec03b0995a4da63d56c2597f2e59f63ce0885330cc093dac373bb
Contents?: true
Size: 741 Bytes
Versions: 1
Compression:
Stored size: 741 Bytes
Contents
require "json" module Split module Persistence class CookieAdapter EXPIRES = Time.now + 31536000 # One year from now def initialize(context) @cookies = context.send(:cookies) end def [](key) hash[key] end def []=(key, value) set_cookie(hash.merge(key => value)) end def delete(key) set_cookie(hash.tap { |h| h.delete(key) }) end def keys hash.keys end private def set_cookie(value) @cookies[:split] = { :value => JSON.generate(value), :expires => EXPIRES } end def hash @cookies[:split] ? JSON.parse(@cookies[:split]) : {} end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
split-0.5.0 | lib/split/persistence/cookie_adapter.rb |