Class: OpenStax::Connect::CurrentUserManager

Inherits:
Object
  • Object
show all
Defined in:
lib/openstax/connect/current_user_manager.rb

Instance Method Summary collapse

Constructor Details

#initialize(request, session, cookies) ⇒ CurrentUserManager

References:

http://railscasts.com/episodes/356-dangers-of-session-hijacking


7
8
9
10
11
# File 'lib/openstax/connect/current_user_manager.rb', line 7

def initialize(request, session, cookies)
  @request = request
  @session = session
  @cookies = cookies
end

Instance Method Details

#connect_current_userObject

Returns the current connect user



38
39
40
41
# File 'lib/openstax/connect/current_user_manager.rb', line 38

def connect_current_user
  load_current_users
  @connect_current_user
end

#current_userObject

Returns the current app user



14
15
16
17
# File 'lib/openstax/connect/current_user_manager.rb', line 14

def current_user
  load_current_users
  @app_current_user
end

#sign_in(user) ⇒ Object

Signs in the given user; the argument can be either a connect user or an app user



21
22
23
24
25
# File 'lib/openstax/connect/current_user_manager.rb', line 21

def (user)
  user.is_a?(User) ?
    self.connect_current_user = user :
    self.current_user = user
end

#sign_out!Object

Signs out the user



28
29
30
# File 'lib/openstax/connect/current_user_manager.rb', line 28

def sign_out!
  (OpenStax::Connect::User.anonymous)
end

#signed_in?Boolean

Returns true iff there is a user signed in

Returns:

  • (Boolean)


33
34
35
# File 'lib/openstax/connect/current_user_manager.rb', line 33

def signed_in?
  !connect_current_user.is_anonymous?
end