module Devise::Controllers::Rememberable
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
.
Public Class Methods
Public Instance Methods
forget_me(resource)
click to toggle source
Forgets the given resource by deleting a cookie
# File lib/devise/controllers/rememberable.rb, line 30 def forget_me(resource) scope = Devise::Mapping.find_scope!(resource) resource.forget_me! cookies.delete(remember_key(resource, scope), forget_cookie_values(resource)) end
remember_me(resource)
click to toggle source
Remembers the given resource by setting up a cookie
# File lib/devise/controllers/rememberable.rb, line 22 def remember_me(resource) return if request.env["devise.skip_storage"] scope = Devise::Mapping.find_scope!(resource) resource.remember_me! cookies.signed[remember_key(resource, scope)] = remember_cookie_values(resource) end
remember_me_is_active?(resource)
click to toggle source
# File lib/devise/controllers/rememberable.rb, line 14 def remember_me_is_active?(resource) return false unless resource.respond_to?(:remember_me) scope = Devise::Mapping.find_scope!(resource) _, token, generated_at = cookies.signed[remember_key(resource, scope)] resource.remember_me?(token, generated_at) end
Protected Instance Methods
remember_key(resource, scope)
click to toggle source
# File lib/devise/controllers/rememberable.rb, line 51 def remember_key(resource, scope) resource.rememberable_options.fetch(:key, "remember_#{scope}_token") end