Class: Moneta::Adapters::Cookie

Inherits:
Memory show all
Defined in:
lib/moneta/adapters/cookie.rb

Overview

Cookie backend used by ‘Rack::MonetaCookies`

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Mixins::HashAdapter

#key?, #load

Methods included from Mixins::IncrementSupport

#increment

Methods inherited from Base

#[], #[]=, #close, #decrement, #fetch, #increment, #key?

Methods included from Mixins::WithOptions

#expires, #prefix, #raw, #with

Constructor Details

#initialize(options = {}) ⇒ Cookie

Returns a new instance of Cookie.



8
9
10
11
# File 'lib/moneta/adapters/cookie.rb', line 8

def initialize(options = {})
  super
  @options, @cookies = options, {}
end

Instance Attribute Details

#cookiesObject (readonly)



6
7
8
# File 'lib/moneta/adapters/cookie.rb', line 6

def cookies
  @cookies
end

Instance Method Details

#clear(options = {}) ⇒ Object



26
27
28
29
30
# File 'lib/moneta/adapters/cookie.rb', line 26

def clear(options = {})
  @hash.each_key { |key| @cookies[key] = nil }
  super
  self
end

#delete(key, options = {}) ⇒ Object



21
22
23
24
# File 'lib/moneta/adapters/cookie.rb', line 21

def delete(key, options = {})
  @cookies[key] = nil
  super
end

#reset(cookies) ⇒ Object



32
33
34
# File 'lib/moneta/adapters/cookie.rb', line 32

def reset(cookies)
  @cookies, @hash = {}, cookies
end

#store(key, value, options = {}) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/moneta/adapters/cookie.rb', line 13

def store(key, value, options = {})
  cookie = @options.merge(options)
  cookie[:value] = value
  cookie[:expires] += Time.now.to_i if cookie[:expires]
  @cookies[key] = cookie
  super
end