Module: Authkick::ControllerMethods
- Defined in:
- lib/authkick.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
7 8 9 10 |
# File 'lib/authkick.rb', line 7 def self.included(base) base.helper_method :current_user base.helper_method :signed_in? end |
Instance Method Details
#current_user ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 |
# 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 .encrypted[:user_id] user = User.find_by(id: .encrypted[:user_id]) if user reset_session session[:user_id] = user.id end end user end end |
#sign_in(user, opts = {}) ⇒ Object
30 31 32 33 34 35 36 |
# 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 .encrypted[:user_id] = {value: "#{user.id}", expires: remember.from_now, httponly: true} if remember end |
#sign_out ⇒ Object
38 39 40 41 42 |
# File 'lib/authkick.rb', line 38 def sign_out @current_user = nil reset_session .delete(:user_id) end |
#signed_in? ⇒ Boolean
26 27 28 |
# File 'lib/authkick.rb', line 26 def signed_in? !!current_user end |