Sha256: 9529ee0acd1e29b31bae123340ef78bb0ae30418603027c045c8b5f412bbba73

Contents?: true

Size: 790 Bytes

Versions: 1

Compression:

Stored size: 790 Bytes

Contents

# frozen_string_literal: true

class Auth::BaseController < DeviseController
  before_action :reset_cache

  # Attempt to find the mapped route for devise based on request path
  def devise_mapping
    @devise_mapping ||= Devise.mappings[:account]
  end

  protected

  def sign_out(resource_or_scope = nil)
    return sign_out_all_scopes unless resource_or_scope

    scope = Devise::Mapping.find_scope!(resource_or_scope)
    user = warden.user(scope: scope, run_callbacks: false)

    # If there is no user
    return if user.nil?

    user.logout!

    warden.raw_session.inspect # Without this inspect here. The session does not clear.
    warden.logout(scope)
    warden.clear_strategies_cache!(scope: scope)
    instance_variable_set(:"@current_#{scope}", nil)

    !!user
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
translation_cms-0.1.5 app/controllers/auth/base_controller.rb