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