Class: Warden::Serializers::Cookie
- Inherits:
-
Base
- Object
- Base
- Warden::Serializers::Cookie
show all
- Defined in:
- lib/warden/serializers/cookie.rb
Overview
A cookie serializer provided by Warden. You need to implement the serialize and deserialize methods in order to use it.
Instance Attribute Summary
Attributes inherited from Base
#env
Instance Method Summary
collapse
Methods inherited from Base
#deserialize, #initialize, #key_for, #serialize
#params, #request, #reset_session!, #response, #session
Instance Method Details
#default_options(user) ⇒ Object
27
28
29
|
# File 'lib/warden/serializers/cookie.rb', line 27
def default_options(user)
{ :value => serialize(user), :expires => (Time.now + 7 * 24 * 3600), :path => "/" }
end
|
#delete(scope, user = nil) ⇒ Object
23
24
25
|
# File 'lib/warden/serializers/cookie.rb', line 23
def delete(scope, user=nil)
response.delete_cookie(key_for(scope))
end
|
#fetch(scope) ⇒ Object
11
12
13
14
15
16
17
|
# File 'lib/warden/serializers/cookie.rb', line 11
def fetch(scope)
key = request.cookies[key_for(scope)]
return nil unless key
user = deserialize(key)
delete(scope) unless user
user
end
|
#store(user, scope) ⇒ Object
7
8
9
|
# File 'lib/warden/serializers/cookie.rb', line 7
def store(user, scope)
response.set_cookie key_for(scope), default_options(user)
end
|
#stored?(scope) ⇒ Boolean
19
20
21
|
# File 'lib/warden/serializers/cookie.rb', line 19
def stored?(scope)
!!request.cookies[key_for(scope)]
end
|