Class: SwitchUser::Provider::Sorcery

Inherits:
Base
  • Object
show all
Defined in:
lib/switch_user/provider/sorcery.rb

Instance Method Summary collapse

Methods inherited from Base

#clear_original_user, #current_user?, #current_users_without_scope, #login_exclusive, #login_inclusive, #logout_all, #original_user, #original_user=, #remember_current_user

Constructor Details

#initialize(controller) ⇒ Sorcery

Returns a new instance of Sorcery.



4
5
6
# File 'lib/switch_user/provider/sorcery.rb', line 4

def initialize(controller)
  @controller = controller
end

Instance Method Details

#current_user(scope = nil) ⇒ Object



32
33
34
# File 'lib/switch_user/provider/sorcery.rb', line 32

def current_user(scope = nil)
  @controller.current_user
end

#login(user, scope = nil) ⇒ Object



8
9
10
# File 'lib/switch_user/provider/sorcery.rb', line 8

def (user, scope = nil)
  @controller.(user)
end

#logout(scope = nil) ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'lib/switch_user/provider/sorcery.rb', line 12

def logout(scope = nil)
  if SwitchUser.switch_back
    save_original_user_identifier
  end

  @controller.logout

  restore_original_user_identifier
end

#restore_original_user_identifierObject



26
27
28
29
30
# File 'lib/switch_user/provider/sorcery.rb', line 26

def restore_original_user_identifier
  if @original_user_scope_identifier
    @controller.session[:original_user_scope_identifier] = @original_user_scope_identifier
  end
end

#save_original_user_identifierObject



22
23
24
# File 'lib/switch_user/provider/sorcery.rb', line 22

def save_original_user_identifier
  @original_user_scope_identifier = @controller.session[:original_user_scope_identifier]
end