Skip to content

Instantly share code, notes, and snippets.

@duncanbeevers
Forked from anonymous/gist:1503764
Created December 20, 2011 23:21
Show Gist options
  • Save duncanbeevers/1503770 to your computer and use it in GitHub Desktop.
Save duncanbeevers/1503770 to your computer and use it in GitHub Desktop.
module SessionsHelper
def sign_in(user)
cookies.permanent.signed[:remember_token] = [user.id, user.salt]
self.current_user = user
end
def current_user=(user)
@current_user = user
end
def current_user
@current_user ||= user_from_remember_token
end
# From a tutorial, why wouldn't current_user= be defined as self.current_user= or why isn't self.current_user = user , current_user = user.
@duncanbeevers
Copy link
Author

If self.current_user were implemented like so:

def current_user=(user)
  self.current_user = user
end

Then you would have an infinitely-recursing method, no bueno.

And if you had this:

def current_user=(user)
  current_user = user
end

Then you would only be assigning current_user as a local variable within that method.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment