module Foyer::Controller::Helpers

Protected Instance Methods

authenticate_user!() click to toggle source
# File lib/foyer/controller/helpers.rb, line 39
def authenticate_user!
  return if user_signed_in?
  redirect_to "/auth/#{Foyer.identity_provider}?origin=#{CGI.escape request.fullpath}"
end
current_user() click to toggle source
# File lib/foyer/controller/helpers.rb, line 28
def current_user
  return nil unless user_session.present?
  @current_user ||= Foyer.user_finder.call(user_session[:id])
end
sign_in(user) click to toggle source
# File lib/foyer/controller/helpers.rb, line 12
def sign_in(user)
  session[Foyer.session_key] = {
    id: user.id,
    current_sign_in_at: Time.now, # rubocop:disable Rails/TimeZone
    current_sign_in_ip: request.ip
  }.with_indifferent_access
end
sign_out() click to toggle source
# File lib/foyer/controller/helpers.rb, line 20
def sign_out
  session.delete(Foyer.session_key)
end
user_session() click to toggle source
# File lib/foyer/controller/helpers.rb, line 33
def user_session
  session[Foyer.session_key] ||= {}
  session[Foyer.session_key] = session[Foyer.session_key].with_indifferent_access
  session[Foyer.session_key]
end
user_signed_in?() click to toggle source
# File lib/foyer/controller/helpers.rb, line 24
def user_signed_in?
  user_session.present? && current_user.present?
end