Sha256: b1dc0a992b8943dbfbea31491671dd1b9bd4375b739edf6469fd3e10d981c10e

Contents?: true

Size: 867 Bytes

Versions: 2

Compression:

Stored size: 867 Bytes

Contents

# frozen_string_literal: true

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)
        save_original_user_identifier if SwitchUser.switch_back

        @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
        @controller.session[:original_user_scope_identifier] =
          @original_user_scope_identifier if @original_user_scope_identifier
      end

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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
switch_user-1.5.4 lib/switch_user/provider/sorcery.rb
switch_user-1.5.3 lib/switch_user/provider/sorcery.rb