Module: Clearance::Authentication::InstanceMethods

Defined in:
lib/clearance/authentication.rb

Instance Method Summary collapse

Instance Method Details

#authenticateObject

Deny the user access if they are signed out.

Examples:

before_filter :authenticate


39
40
41
# File 'lib/clearance/authentication.rb', line 39

def authenticate
  deny_access unless signed_in?
end

#current_userUser?

User in the current cookie

Returns:



17
18
19
# File 'lib/clearance/authentication.rb', line 17

def current_user
  @_current_user ||= user_from_cookie
end

#deny_access(flash_message = nil) ⇒ Object

Store the current location. Display a flash message if included. Redirect to sign in.

Parameters:

  • optional (String)

    flash message to display to denied user



76
77
78
79
80
# File 'lib/clearance/authentication.rb', line 76

def deny_access(flash_message = nil)
  store_location
  flash[:failure] = flash_message if flash_message
  redirect_to(new_session_url)
end

#sign_in(user) ⇒ Object

Sign user in to cookie.

Examples:

(@user)

Parameters:



49
50
51
52
53
54
55
56
57
# File 'lib/clearance/authentication.rb', line 49

def (user)
  if user
    user.remember_me!
    cookies[:remember_token] = {
      :value   => user.remember_token,
      :expires => user.remember_token_expires_at
    }
  end
end

#sign_out(user) ⇒ Object

Sign user out of cookie.

Examples:

sign_out(@user)

Parameters:



65
66
67
68
69
# File 'lib/clearance/authentication.rb', line 65

def sign_out(user)
  user.forget_me! if user
  cookies.delete(:remember_token)
  reset_session
end

#signed_in?true, false

Is the current user signed in?

Returns:

  • (true, false)


24
25
26
# File 'lib/clearance/authentication.rb', line 24

def signed_in?
  ! current_user.nil?
end

#signed_out?true, false

Is the current user signed out?

Returns:

  • (true, false)


31
32
33
# File 'lib/clearance/authentication.rb', line 31

def signed_out?
  current_user.nil?
end