Module: Kingsman::Controllers::Rememberable
- Included in:
- Hooks::Proxy
- Defined in:
- lib/kingsman/controllers/rememberable.rb
Overview
A module that may be optionally included in a controller in order to provide remember me behavior. Useful when signing in is done through a callback, like in OmniAuth.
Class Method Summary collapse
-
.cookie_values ⇒ Object
Return default cookie values retrieved from session options.
Instance Method Summary collapse
-
#forget_me(resource) ⇒ Object
Forgets the given resource by deleting a cookie.
-
#remember_me(resource) ⇒ Object
Remembers the given resource by setting up a cookie.
- #remember_me_is_active?(resource) ⇒ Boolean
Class Method Details
.cookie_values ⇒ Object
Return default cookie values retrieved from session options.
10 11 12 |
# File 'lib/kingsman/controllers/rememberable.rb', line 10 def self. Jets.config..slice(:path, :domain, :secure) end |
Instance Method Details
#forget_me(resource) ⇒ Object
Forgets the given resource by deleting a cookie
30 31 32 33 34 35 |
# File 'lib/kingsman/controllers/rememberable.rb', line 30 def forget_me(resource) scope = Kingsman::Mapping.find_scope!(resource) resource.forget_me! .delete(remember_key(resource, scope)) # cookies.delete(remember_key(resource, scope), forget_cookie_values(resource)) end |
#remember_me(resource) ⇒ Object
Remembers the given resource by setting up a cookie
22 23 24 25 26 27 |
# File 'lib/kingsman/controllers/rememberable.rb', line 22 def remember_me(resource) return if request.env["kingsman.skip_storage"] scope = Kingsman::Mapping.find_scope!(resource) resource.remember_me! .signed[remember_key(resource, scope)] = (resource) end |
#remember_me_is_active?(resource) ⇒ Boolean
14 15 16 17 18 19 |
# File 'lib/kingsman/controllers/rememberable.rb', line 14 def remember_me_is_active?(resource) return false unless resource.respond_to?(:remember_me) scope = Kingsman::Mapping.find_scope!(resource) _, token, generated_at = .signed[remember_key(resource, scope)] resource.remember_me?(token, generated_at) end |