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