Module: SimplestAuth::Controller

Defined in:
lib/simplest_auth/controller.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



63
64
65
# File 'lib/simplest_auth/controller.rb', line 63

def self.included(base)
  base.send :helper_method, :current_user, :logged_in?, :authorized? if base.respond_to? :helper_method
end

Instance Method Details

#access_deniedObject



13
14
15
16
17
# File 'lib/simplest_auth/controller.rb', line 13

def access_denied
  store_location
  flash[:error] = 
  redirect_to new_session_url
end

#authorized?Boolean

Returns:

  • (Boolean)


9
10
11
# File 'lib/simplest_auth/controller.rb', line 9

def authorized?
  logged_in?
end

#clear_sessionObject



59
60
61
# File 'lib/simplest_auth/controller.rb', line 59

def clear_session
  session[:user_id] = nil
end

#current_userObject



40
41
42
43
44
45
46
47
48
# File 'lib/simplest_auth/controller.rb', line 40

def current_user
  @current_user ||= begin
    if user_class.respond_to?(:find)
      user_class.find(current_user_id)
    else
      user_class.first(:id => current_user_id)
    end
  end || clear_session
end

#current_user=(user) ⇒ Object



50
51
52
53
# File 'lib/simplest_auth/controller.rb', line 50

def current_user=(user)
  session[:user_id] = user ? user.id : nil
  @current_user = user || false
end

#current_user_idObject



55
56
57
# File 'lib/simplest_auth/controller.rb', line 55

def current_user_id
  session[:user_id]
end

#logged_in?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/simplest_auth/controller.rb', line 36

def logged_in?
  !current_user_id.nil?
end

#login_messageObject



19
20
21
# File 'lib/simplest_auth/controller.rb', line 19

def 
  "Login or Registration Required"
end

#login_requiredObject



32
33
34
# File 'lib/simplest_auth/controller.rb', line 32

def 
  authorized? || access_denied
end

#redirect_back_or_default(default) ⇒ Object



27
28
29
30
# File 'lib/simplest_auth/controller.rb', line 27

def redirect_back_or_default(default)
  redirect_to(session[:return_to] || default)
  session[:return_to] = nil
end

#store_locationObject



23
24
25
# File 'lib/simplest_auth/controller.rb', line 23

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

#user_classObject



5
6
7
# File 'lib/simplest_auth/controller.rb', line 5

def user_class
  User
end