1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-19 13:19:39 +02:00

Split authentication concern from ApplicationController (#289)

* Split authentication concern from ApplicationController

* Remove empty space

* Rubocop fixes
This commit is contained in:
Dwight Watson 2024-02-05 06:05:13 +11:00 committed by GitHub
parent 4699423eb4
commit 23eaa3e066
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 44 additions and 34 deletions

View file

@ -1,43 +1,11 @@
class ApplicationController < ActionController::Base class ApplicationController < ActionController::Base
include Authentication
# Only allow modern browsers supporting webp images, web push, badges, import maps, CSS nesting, and CSS :has. # Only allow modern browsers supporting webp images, web push, badges, import maps, CSS nesting, and CSS :has.
allow_browser versions: :modern allow_browser versions: :modern
private private
def authenticate_user!
redirect_to new_session_path unless user_signed_in?
end
def current_user
Current.user || authenticate_user_from_session
end
helper_method :current_user
def current_family
current_user.family
end
helper_method :current_family
def authenticate_user_from_session
User.find_by(id: session[:user_id])
end
def user_signed_in?
current_user.present?
end
helper_method :user_signed_in?
def login(user)
Current.user = user
reset_session
session[:user_id] = user.id
end
def logout
Current.user = nil
reset_session
end
def hosted_app? def hosted_app?
ENV["HOSTED"] == "true" ENV["HOSTED"] == "true"
end end

View file

@ -0,0 +1,42 @@
module Authentication
extend ActiveSupport::Concern
included do
helper_method :current_user
helper_method :current_family
helper_method :user_signed_in?
end
private
def authenticate_user!
redirect_to new_session_path unless user_signed_in?
end
def current_user
Current.user || authenticate_user_from_session
end
def current_family
current_user.family
end
def authenticate_user_from_session
User.find_by(id: session[:user_id])
end
def user_signed_in?
current_user.present?
end
def login(user)
Current.user = user
reset_session
session[:user_id] = user.id
end
def logout
Current.user = nil
reset_session
end
end