Module: Clearance::ApplicationController::ProtectedInstanceMethods

Defined in:
lib/clearance/application_controller.rb

Instance Method Summary collapse

Instance Method Details

#authenticateObject



23
24
25
# File 'lib/clearance/application_controller.rb', line 23

def authenticate
  deny_access if current_user.nil?
end

#create_session_for(user) ⇒ Object



41
42
43
# File 'lib/clearance/application_controller.rb', line 41

def create_session_for(user)
  session[:user_id] = user.id if user
end

#deny_access(flash_message = nil, opts = {}) ⇒ Object



54
55
56
57
58
59
# File 'lib/clearance/application_controller.rb', line 54

def deny_access(flash_message = nil, opts = {})
  opts[:redirect] ||= 
  store_location
  flash[:error] = flash_message if flash_message
  redirect_to opts[:redirect]
end

#login(user) ⇒ Object



36
37
38
39
# File 'lib/clearance/application_controller.rb', line 36

def (user)
  create_session_for user
  @current_user = user
end

#redirect_back_or(default) ⇒ Object



45
46
47
48
# File 'lib/clearance/application_controller.rb', line 45

def redirect_back_or(default)
  session[:return_to] ? redirect_to(session[:return_to]) : redirect_to(default)
  session[:return_to] = nil
end

#store_locationObject



50
51
52
# File 'lib/clearance/application_controller.rb', line 50

def store_location
  session[:return_to] = request.request_uri
end


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

def user_from_cookie
  user = User.find_by_remember_token(cookies[:auth_token]) if cookies[:auth_token]
  user && user.remember_token? ? user : nil
end

#user_from_sessionObject



27
28
29
# File 'lib/clearance/application_controller.rb', line 27

def user_from_session
  User.find_by_id(session[:user_id])
end