module Authkick::ControllerMethods
Public Class Methods
included(base)
click to toggle source
# File lib/authkick.rb, line 7 def self.included(base) base.helper_method :current_user base.helper_method :signed_in? end
Public Instance Methods
current_user()
click to toggle source
# File lib/authkick.rb, line 12 def current_user @current_user ||= begin user = session[:user_id] ? User.find_by(id: session[:user_id]) : nil if !user and cookies.encrypted[:user_id] user = User.find_by(id: cookies.encrypted[:user_id]) if user reset_session session[:user_id] = user.id end end user end end
sign_in(user, opts = {})
click to toggle source
# File lib/authkick.rb, line 30 def sign_in(user, opts = {}) remember = opts.has_key?(:remember) ? opts[:remember] : 1.year reset_session session[:user_id] = user.id @current_user = user cookies.encrypted[:user_id] = {value: "#{user.id}", expires: remember.from_now, httponly: true} if remember end
sign_out()
click to toggle source
# File lib/authkick.rb, line 38 def sign_out @current_user = nil reset_session cookies.delete(:user_id) end
signed_in?()
click to toggle source
# File lib/authkick.rb, line 26 def signed_in? !!current_user end