Sha256: bd27e19659ca27becf04dde3789b7f9283030ae7ec8d01cef75d17ac691c971e

Contents?: true

Size: 797 Bytes

Versions: 4

Compression:

Stored size: 797 Bytes

Contents

module Guts
  # Helpers for sessions
  # @attr [Object] current_user the current user's object record
  # @note This is also used by the controllers
  module SessionsHelper
    # Set the User's ID to the session
    # @param [Object] user the user's object record
    def log_in(user)
      session[:user_id] = user.id
    end
    
    # Logs the user out by deleting the session
    def log_out
      session.delete :user_id
      @current_user = nil
    end

    # Gets the current user's record
    # @return [Object] the user object
    def current_user
      @current_user ||= User.find_by(id: session[:user_id])
    end

    # Determins if the user is logged in
    # @return [Boolean] true for logged in, false for not
    def logged_in?
      false === current_user.nil?
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
guts-1.0.8 app/helpers/guts/sessions_helper.rb
guts-1.0.7 app/helpers/guts/sessions_helper.rb
guts-1.0.5 app/helpers/guts/sessions_helper.rb
guts-1.0.3 app/helpers/guts/sessions_helper.rb