diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 27fa7bd..b1ec843 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -3,10 +3,24 @@ class ApplicationController < ActionController::Base before_action :authenticate private + def current_user + Current.user || authenticate_user_from_session + end + helper_method :current_user + + def authenticate_user_from_session + session_record = Session.find_by_id(cookies.signed[:session_token]) + Current.session = session_record + Current.user + end + + def user_signed_in? + current_user.present? + end + helper_method :user_signed_in? + def authenticate - if session_record = Session.find_by_id(cookies.signed[:session_token]) - Current.session = session_record - else + unless user_signed_in? redirect_to sign_in_path end end diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index 95f2992..ce7e2f6 100644 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -1,4 +1,5 @@ class HomeController < ApplicationController + skip_before_action :authenticate def index end end diff --git a/app/views/home/index.html.erb b/app/views/home/index.html.erb index 677883d..c9edeaa 100644 --- a/app/views/home/index.html.erb +++ b/app/views/home/index.html.erb @@ -1,23 +1,19 @@
<%= notice %>
- -Signed as <%= Current.user.email %>
- -Signed as <%= current_user.email %>
+