1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-19 13:19:39 +02:00
Maybe/app/controllers/concerns/authentication.rb
2024-04-03 10:35:55 -04:00

34 lines
576 B
Ruby

module Authentication
extend ActiveSupport::Concern
included do
before_action :authenticate_user!
end
class_methods do
def skip_authentication(**options)
skip_before_action :authenticate_user!, **options
end
end
private
def authenticate_user!
if user = User.find_by(id: session[:user_id])
Current.user = user
else
redirect_to new_session_url
end
end
def login(user)
Current.user = user
reset_session
session[:user_id] = user.id
end
def logout
Current.user = nil
reset_session
end
end