Sha256: 07eff3da1b260cd2d00e9f1eeb23d9dd38b3e899e8a07b09d12dfbd20da21389

Contents?: true

Size: 867 Bytes

Versions: 10

Compression:

Stored size: 867 Bytes

Contents

module SwitchUser
  module Provider
    class Sorcery < Base
      def initialize(controller)
        @controller = controller
      end

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

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

        @controller.logout

        restore_original_user_identifier
      end

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

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

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

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
switch_user-1.5.0 lib/switch_user/provider/sorcery.rb
switch_user-1.4.0 lib/switch_user/provider/sorcery.rb
switch_user-1.3.1 lib/switch_user/provider/sorcery.rb
switch_user-1.3.0 lib/switch_user/provider/sorcery.rb
switch_user-1.2.1 lib/switch_user/provider/sorcery.rb
switch_user-1.2.0 lib/switch_user/provider/sorcery.rb
switch_user-1.1.0 lib/switch_user/provider/sorcery.rb
switch_user-1.0.2 lib/switch_user/provider/sorcery.rb
switch_user-1.0.1 lib/switch_user/provider/sorcery.rb
switch_user-1.0.0 lib/switch_user/provider/sorcery.rb