Sha256: 8ed470f3e6e2380b8d2c38d8433814c1fff46756683c3a2ce69b2c11f4967518

Contents?: true

Size: 727 Bytes

Versions: 2

Compression:

Stored size: 727 Bytes

Contents

module SessionsHelper

  # Sign in a user with a cookie (remove on browser close)
  # 
  # * *Args*    :
  #   - a user to sign in
  # * *Returns* :
  #
  def sign_in(user, permanent: false)
    cookies[:remember_token] = { value: user.remember_token, expires: (Time.now + 2592000 if permanent) }
    self.current_user = user
  end

  def current_user=(user)
    @current_user = user
  end

  # Provid the user currently signed in.
  # 
  # * *Returns* :
  #   - the user currently signed in
  def current_user
    @current_user ||= User.find_by_remember_token(cookies[:remember_token])
  end

  # Sign out a user by removing the cookie.
  def sign_out
    self.current_user = nil
    cookies.delete(:remember_token)
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
adeia-0.2.0 spec/test_app/app/helpers/sessions_helper.rb
adeia-0.1.0 test/dummy/app/helpers/sessions_helper.rb