module Avocado::Authentication

Public Instance Methods

current_session() click to toggle source
# File lib/avocado/authentication.rb, line 22
def current_session
  Current.session
end
current_user() click to toggle source
# File lib/avocado/authentication.rb, line 14
def current_user
  Current.user
end
signed_in?() click to toggle source
# File lib/avocado/authentication.rb, line 18
def signed_in?
  current_user.present?
end

Private Instance Methods

authenticate() click to toggle source
# File lib/avocado/authentication.rb, line 28
def authenticate
  if session_from_token
    Current.session = session_from_token
  else
    redirect_to new_session_path
  end
end
session_from_token() click to toggle source
# File lib/avocado/authentication.rb, line 42
def session_from_token
  ::Session.find_by(token: cookies.signed[:session_token])
end
set_current_request_details() click to toggle source
# File lib/avocado/authentication.rb, line 46
def set_current_request_details
  Current.user_agent = request.user_agent
  Current.ip_address = request.ip
end
sign_in(user) click to toggle source
# File lib/avocado/authentication.rb, line 36
def sign_in(user)
  ::Session.create!(user: user).tap do |session|
    cookies.signed.permanent[:session_token] = {value: session.token, httponly: true}
  end
end