module Devise::Controllers::Rememberable

def self.cookie_values

Return default cookie values retrieved from session options.
def self.cookie_values
  Rails.configuration.session_options.slice(:path, :domain, :secure)
end

def forget_cookie_values(resource)

def forget_cookie_values(resource)
  Devise::Controllers::Rememberable.cookie_values.merge!(resource.cookie_options)
end

def forget_me(resource)

Forgets the given resource by deleting a cookie
def forget_me(resource)
  scope = Devise::Mapping.find_scope!(resource)
  resource.forget_me!
  cookies.delete("remember_#{scope}_token", forget_cookie_values(resource))
end

def remember_cookie_values(resource)

def remember_cookie_values(resource)
  options = { :httponly => true }
  options.merge!(forget_cookie_values(resource))
  options.merge!(
    :value => resource.class.serialize_into_cookie(resource),
    :expires => resource.remember_expires_at
  )
end

def remember_me(resource)

Remembers the given resource by setting up a cookie
def remember_me(resource)
  scope = Devise::Mapping.find_scope!(resource)
  resource.remember_me!(resource.extend_remember_period)
  cookies.signed["remember_#{scope}_token"] = remember_cookie_values(resource)
end