module Advanced
This module includes all the advanced functions for sessions
Public Instance Methods
create_session(user)
click to toggle source
# File lib/simple_sessions.rb, line 36 def create_session(user) log_in(user) remember(user) end
current_user()
click to toggle source
# File lib/simple_sessions.rb, line 41 def current_user if session[:user_id] @current_user ||= User.find_by(id: session[:user_id]) elsif cookies.signed[:id] user = User.find_by(id: cookies.signed[:id]) cond1 = user.authenticated?(cookies[:remember_token]) if user && cond1 @current_user ||= user session[:user_id] = user.id end end end
log_in(user)
click to toggle source
# File lib/simple_sessions.rb, line 25 def log_in(user) session[:user_id] = user.id end
log_out()
click to toggle source
# File lib/simple_sessions.rb, line 58 def log_out @current_user = nil session[:user_id] = nil cookies.delete :remember_token cookies.delete :id end
logged_in?()
click to toggle source
# File lib/simple_sessions.rb, line 54 def logged_in? !current_user.nil? end
remember(user)
click to toggle source
# File lib/simple_sessions.rb, line 29 def remember(user) cookies.permanent.signed[:id] = user.id token = SecureRandom.urlsafe_base64 cookies.permanent[:remember_token] = token user.remember(token) end