summaryrefslogtreecommitdiff
path: root/app/helpers/sessions_helper.rb
diff options
context:
space:
mode:
authortkimia <tkimia@purdue.edu>2014-04-29 16:45:01 -0400
committertkimia <tkimia@purdue.edu>2014-04-29 16:45:01 -0400
commita3392e334f15dd852f550411394c27b3327db1e9 (patch)
tree46b67d2c5fd004d81b936e4d6a68f80f9cc8ff32 /app/helpers/sessions_helper.rb
parent42d6e3b1cc05ef5172081682b53675e4827254d3 (diff)
parentd2da4866962e69fda4f3078afd19dbaf3d245882 (diff)
Merge branch 'master' of https://github.com/LukeShu/leaguer
Conflicts: app/models/match.rb lib/scoring/winner_takes_all.rb
Diffstat (limited to 'app/helpers/sessions_helper.rb')
-rw-r--r--app/helpers/sessions_helper.rb22
1 files changed, 10 insertions, 12 deletions
diff --git a/app/helpers/sessions_helper.rb b/app/helpers/sessions_helper.rb
index 499e988..7599a0a 100644
--- a/app/helpers/sessions_helper.rb
+++ b/app/helpers/sessions_helper.rb
@@ -2,25 +2,24 @@ require 'user'
module SessionsHelper
def sign_in(user)
- @session = Session.new(user: user)
- raw_token = @session.create_token
- @session.save # FIXME: error handling
+ session = Session.new(user: user)
+ raw_token = session.create_token
+ session.save!
- @token = Session.hash_token(raw_token)
+ token = Session.hash_token(raw_token)
cookies.permanent[:remember_token] = { value: raw_token, expires: 20.minutes.from_now.utc }
+ end
- #set the current user to be the given user
- @current_user = user
+ def current_session
+ Session.find_by(token: Session.hash_token(cookies[:remember_token]))
end
- # sets the @current_user instance virable to the user corresponding
+ # sets the @current_user instance varable to the user corresponding
# to the remember token, but only if @current_user is undefined
# since the remember token is hashed, we need to hash the cookie
# to find match the remember token
def current_user
- @token ||= Session.hash_token(cookies[:remember_token])
- @session ||= Session.find_by(token: @token)
- @current_user ||= (@session.nil? ? User::NilUser.new : @session.user)
+ return (current_session.nil? ? User::NilUser.new : current_session.user)
end
# checks if someone is currently signed in
@@ -30,9 +29,8 @@ module SessionsHelper
def sign_out
if signed_in?
- @session.destroy
+ current_session.destroy
end
- @current_user = User::NilUser.new
cookies.delete(:remember_token)
end