Class: SessionsController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- SessionsController
- Defined in:
- app/controllers/sessions_controller.rb
Overview
Handles login and logout operations.
Instance Method Summary collapse
- #failure ⇒ Object
-
#logout ⇒ nil
This method logs out a user.
-
#omniauth ⇒ nil
This method calls the omniauth service.
Instance Method Details
#failure ⇒ Object
32 33 34 |
# File 'app/controllers/sessions_controller.rb', line 32 def failure redirect_to welcome_path, alert: "Authentication failed. Please try again." end |
#logout ⇒ nil
This method logs out a user
8 9 10 11 |
# File 'app/controllers/sessions_controller.rb', line 8 def logout reset_session redirect_to welcome_path, notice: "You are logged out." end |
#omniauth ⇒ nil
This method calls the omniauth service
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'app/controllers/sessions_controller.rb', line 16 def omniauth auth = request.env["omniauth.auth"] oauth_service = OauthService.new(auth, session[:user_id]) result = oauth_service.connect_user if result[:success] and !session[:user_id].present? reset_session session[:user_id] = result[:user].id redirect_to result[:success] ? games_path : user_path(result[:user]), notice: result[:notice] elsif result[:success] redirect_to result[:success] ? games_path : user_path(result[:user]), notice: result[:notice] else redirect_to welcome_path, alert: result[:alert] end end |