Module: SwitchUser
- Defined in:
- lib/switch_user.rb,
lib/switch_user/rails.rb,
lib/switch_user/version.rb,
lib/switch_user/provider.rb,
lib/switch_user/user_set.rb,
lib/switch_user/base_guard.rb,
lib/switch_user/data_source.rb,
lib/switch_user/user_loader.rb,
lib/switch_user/lambda_guard.rb,
lib/switch_user/provider/base.rb,
lib/switch_user/provider/dummy.rb,
lib/switch_user/provider/devise.rb,
lib/switch_user/provider/session.rb,
lib/switch_user/provider/sorcery.rb,
lib/switch_user/provider/authlogic.rb,
lib/switch_user/provider/clearance.rb,
lib/switch_user/provider/restful_authentication.rb,
lib/generators/switch_user/install/install_generator.rb
Defined Under Namespace
Modules: Generators, Provider
Classes: BaseGuard, DataSource, DataSources, Engine, GuestDataSource, GuestRecord, InvalidScope, LambdaGuard, Record, UserLoader, UserSet
Constant Summary
collapse
- VERSION =
"1.1.0"
Class Method Summary
collapse
Class Method Details
.all_users ⇒ Object
40
41
42
|
# File 'lib/switch_user.rb', line 40
def self.all_users
data_sources.all
end
|
.available_scopes ⇒ Object
32
33
34
|
# File 'lib/switch_user.rb', line 32
def self.available_scopes
available_users.keys
end
|
.data_sources ⇒ Object
44
45
46
47
48
49
50
51
52
|
# 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) ⇒ Object
36
37
38
|
# File 'lib/switch_user.rb', line 36
def self.guard_class=(klass)
@@guard_class = klass.constantize
end
|
.reset_config ⇒ Object
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# File 'lib/switch_user.rb', line 54
def self.reset_config
self.provider = :devise
self.available_users = { :user => lambda { User.all } }
self.available_users_identifiers = { :user => :id }
self.available_users_names = { :user => :email }
self.guard_class = "SwitchUser::LambdaGuard"
self.controller_guard = lambda { |current_user, request| Rails.env.development? }
self.view_guard = lambda { |current_user, request| Rails.env.development? }
self.redirect_path = lambda { |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| ... } ⇒ Object
28
29
30
|
# File 'lib/switch_user.rb', line 28
def self.setup
yield self
end
|