module Incline::Extensions::Session::Common

Contains the methods common to both controllers and views.

Public Instance Methods

current_user() click to toggle source

Gets the currently logged in user.

# File lib/incline/extensions/session.rb, line 34
def current_user
  @current_user ||=
      if (user_id = session[:user_id])
        Incline::User.find_by(id: user_id)
      elsif (cookies&.respond_to?(:signed)) &&
          (user_id = cookies.signed[user_id_cookie]) &&
          (user = Incline::User.find_by(id: user_id)) &&
          (user.authenticated?(:remember, cookies[user_token_cookie]))
        log_in user if respond_to?(:log_in)
        user
      else
        nil
      end ||Incline::User::anonymous
end
current_user?(user) click to toggle source

Is the specified user the current user?

# File lib/incline/extensions/session.rb, line 51
def current_user?(user)
  current_user == user
end
logged_in?() click to toggle source

Is a user logged in?

# File lib/incline/extensions/session.rb, line 57
def logged_in?
  !current_user.anonymous?
end
system_admin?() click to toggle source

Is the current user a system administrator?

# File lib/incline/extensions/session.rb, line 63
def system_admin?
  logged_in? && current_user.system_admin? && current_user.enabled? && current_user.activated?
end