module SwitchUser

Constants

VERSION

Public Class Methods

all_users() click to toggle source
# File lib/switch_user.rb, line 40
def self.all_users
  data_sources.all
end
available_scopes() click to toggle source
# File lib/switch_user.rb, line 32
def self.available_scopes
  available_users.keys
end
data_sources() click to toggle source
# File lib/switch_user.rb, line 44
def self.data_sources
  sources =
    available_users.map do |scope, loader|
      identifier = available_users_identifiers.fetch(scope)
      name = available_users_names.fetch(scope)
      DataSource.new(loader, scope, identifier, name)
    end
  sources.unshift(GuestDataSource.new) if helper_with_guest
  DataSources.new(sources)
end
guard_class=(klass) click to toggle source
# File lib/switch_user.rb, line 36
def self.guard_class=(klass)
  @@guard_class = klass.constantize
end
reset_config() click to toggle source
# File lib/switch_user.rb, line 55
def self.reset_config
  self.provider = :devise
  self.available_users = { user: -> { User.all } }
  self.available_users_identifiers = { user: :id }
  self.available_users_names = { user: :email }
  self.guard_class = 'SwitchUser::LambdaGuard'
  self.controller_guard = ->(_current_user, _request) { Rails.env.development? }
  self.view_guard = ->(_current_user, _request) { Rails.env.development? }
  self.redirect_path = ->(request, _params) { request.env['HTTP_REFERER'] ? :back : root_path }
  self.session_key = :user_id
  self.helper_with_guest = true
  self.switch_back = false
  self.login_exclusive = true
end
setup() { |self| ... } click to toggle source
# File lib/switch_user.rb, line 28
def self.setup
  yield self
end