Module: Panda::Core::Authentication

Extended by:
ActiveSupport::Concern
Defined in:
lib/panda/core/authentication.rb

Instance Method Summary collapse

Instance Method Details

#current_userObject



12
13
14
15
# File 'lib/panda/core/authentication.rb', line 12

def current_user
  return @current_user if defined?(@current_user)
  @current_user = User.find_by(id: session[:user_id]) if session[:user_id]
end

#require_adminObject



21
22
23
# File 'lib/panda/core/authentication.rb', line 21

def require_admin
  redirect_to  unless current_user&.admin?
end

#require_authenticationObject



17
18
19
# File 'lib/panda/core/authentication.rb', line 17

def require_authentication
  redirect_to  unless current_user
end

#sign_in(user) ⇒ Object



25
26
27
28
# File 'lib/panda/core/authentication.rb', line 25

def (user)
  session[:user_id] = user.id
  @current_user = user
end

#sign_outObject



30
31
32
33
# File 'lib/panda/core/authentication.rb', line 30

def sign_out
  session.delete(:user_id)
  @current_user = nil
end