module Passwd::Rails::ActionControllerExt

Private Instance Methods

_auth_class() click to toggle source
# File lib/passwd/rails/action_controller_ext.rb, line 61
def _auth_class
  (Rails.application.config.passwd.auth_class || passwd_auth_class || :User).to_s.constantize
end
_auth_key() click to toggle source
# File lib/passwd/rails/action_controller_ext.rb, line 65
def _auth_key
  Rails.application.config.passwd.session_key || passwd_auth_key || :user_id
end
_signin_path() click to toggle source
# File lib/passwd/rails/action_controller_ext.rb, line 69
def _signin_path
  name = Rails.application.config.passwd.signin_path || passwd_signin_path || :signin_path
  _url_helpers.respond_to?(name) ? _url_helpers.public_send(name) : nil
end
_url_helpers() click to toggle source
# File lib/passwd/rails/action_controller_ext.rb, line 74
def _url_helpers
  Rails.application.routes.url_helpers
end
current_user() click to toggle source
# File lib/passwd/rails/action_controller_ext.rb, line 11
def current_user
  return @current_user if instance_variable_defined?(:@current_user)

  @current_user = _auth_class.find_by(id: session[_auth_key])
end
passwd_auth_class() click to toggle source
# File lib/passwd/rails/action_controller_ext.rb, line 49
def passwd_auth_class
  nil
end
passwd_auth_key() click to toggle source
# File lib/passwd/rails/action_controller_ext.rb, line 53
def passwd_auth_key
  nil
end
passwd_signin_path() click to toggle source
# File lib/passwd/rails/action_controller_ext.rb, line 57
def passwd_signin_path
  nil
end
redirect_to_referer_or(path, options = {}) click to toggle source
# File lib/passwd/rails/action_controller_ext.rb, line 35
def redirect_to_referer_or(path, options = {})
  redirect_to session[:signin_referer].presence || path, **options
end
require_signin() click to toggle source
# File lib/passwd/rails/action_controller_ext.rb, line 39
def require_signin
  return if signin?

  path = _signin_path
  raise UnauthorizedAccess unless path

  session[:signin_referer] = request.fullpath
  redirect_to path
end
signin(user) click to toggle source
# File lib/passwd/rails/action_controller_ext.rb, line 21
def signin(user)
  if user.present?
    @current_user = user
    session[_auth_key] = user&.id
  end

  user.present?
end
signin?() click to toggle source
# File lib/passwd/rails/action_controller_ext.rb, line 17
def signin?
  current_user.present?
end
signout() click to toggle source
# File lib/passwd/rails/action_controller_ext.rb, line 30
def signout
  session[_auth_key] = nil
  @current_user = nil
end