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