module Ditty::Helpers::Authentication

Public Instance Methods

authenticate() click to toggle source
# File lib/ditty/helpers/authentication.rb, line 26
def authenticate
  authenticated?
end
authenticate!() click to toggle source
# File lib/ditty/helpers/authentication.rb, line 34
def authenticate!
  raise NotAuthenticated unless authenticated?

  true
end
authenticated?() click to toggle source
# File lib/ditty/helpers/authentication.rb, line 30
def authenticated?
  current_user && !current_user.role?('anonymous')
end
current_user() click to toggle source
# File lib/ditty/helpers/authentication.rb, line 8
def current_user
  return nil if current_user_id.nil?

  @current_user ||= User[current_user_id]
end
current_user=(user) click to toggle source
# File lib/ditty/helpers/authentication.rb, line 14
def current_user=(user)
  env['rack.session'] = {} if env['rack.session'].nil?
  env['rack.session']['user_id'] = user.id if user
  @current_user = user
end
current_user_id() click to toggle source
# File lib/ditty/helpers/authentication.rb, line 20
def current_user_id
  return env['rack.session']['user_id'] if env['rack.session'] && env['rack.session']['user_id']

  env['omniauth.auth']&.uid
end
logout() click to toggle source
# File lib/ditty/helpers/authentication.rb, line 40
def logout
  env['rack.session']&.delete('user_id')
  env.delete('omniauth.auth')
end