module Devise::SecurePassword::Controllers::Helpers

Public Instance Methods

authenticate_secure_password!() click to toggle source
# File lib/devise/secure_password/controllers/helpers.rb, line 19
def authenticate_secure_password!
  return unless authenticate_secure_password_expired?

  redirect_to authenticate_secure_password_path, alert: "#{error_string_for_password_expired}."
end
authenticate_secure_password_expired?() click to toggle source
# File lib/devise/secure_password/controllers/helpers.rb, line 13
def authenticate_secure_password_expired?
  return false if devise_controller?

  session[:devise_secure_password_expired] == true
end
authenticate_secure_password_path() click to toggle source
# File lib/devise/secure_password/controllers/helpers.rb, line 25
def authenticate_secure_password_path
  return unless warden.user

  :"edit_#{devise_secure_password_scope}_password_with_policy"
end

Private Instance Methods

devise_secure_password_scope() click to toggle source
# File lib/devise/secure_password/controllers/helpers.rb, line 33
def devise_secure_password_scope
  Devise::Mapping.find_scope!(warden.user)
end
error_string_for_password_expired() click to toggle source
# File lib/devise/secure_password/controllers/helpers.rb, line 37
def error_string_for_password_expired
  I18n.t(
    'secure_password.password_requires_regular_updates.errors.messages.password_expired',
    timeframe: precise_distance_of_time_in_words(warden.user.class.password_maximum_age)
  )
end
set_devise_secure_password_expired!() click to toggle source
# File lib/devise/secure_password/controllers/helpers.rb, line 44
def set_devise_secure_password_expired!
  session[:devise_secure_password_expired] = warden.user.password_expired?
end
unset_devise_secure_password_expired!() click to toggle source
# File lib/devise/secure_password/controllers/helpers.rb, line 48
def unset_devise_secure_password_expired!
  session.delete(:devise_secure_password_expired)
end
warden_user_has_password_expiration?() click to toggle source
# File lib/devise/secure_password/controllers/helpers.rb, line 52
def warden_user_has_password_expiration?
  warden&.user&.respond_to?(:password_expired?)
end