switch_user 0.9.2 → 0.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # switch_user
2
2
 
3
- Inspired from [hobo][0], switch_user provides a convenient way to switch current user that speeds up your development and reproduce user specified error on production.
3
+ Inspired from [hobo][0], switch_user provides a convenient way to switch current user without needing to log out and log in manually.
4
4
 
5
5
  ## Use Case
6
6
 
@@ -19,9 +19,9 @@ And source code here: <https://github.com/flyerhzm/switch_user_example>
19
19
  ## Install
20
20
 
21
21
  Add in Gemfile.
22
-
23
- gem "switch_user"
24
-
22
+ ```ruby
23
+ gem "switch_user"
24
+ ```
25
25
  ## Usage
26
26
 
27
27
  Add following code into your layout page.
@@ -42,90 +42,109 @@ If there are too many users (on production), the switch_user_select is not a goo
42
42
  = link_to user.login, "/switch_user?scope_identifier=user_#{user.id}"
43
43
  = link_to admin.login, "/switch_user?scope_identifier=admin_#{admin.id}"
44
44
 
45
- If you use it in a Rails 2 project, you have to add a route manually.
46
-
47
- # config/routes.rb
48
- map.switch_user '/switch_user', :controller => 'switch_user', :action => 'set_current_user'
49
-
50
- If you have a wildcard route in your Rails 3 project, add a route before the wildcard route.
51
-
52
- # config/routes.rb
53
- match 'switch_user' => 'switch_user#set_current_user'
54
- # wildcard route that will match anything
55
- match ':id' => 'pages#show'
56
-
45
+ If you have a wildcard route in your project, add a route before the wildcard route.
46
+ ```ruby
47
+ # config/routes.rb
48
+ match 'switch_user' => 'switch_user#set_current_user'
49
+ # wildcard route that will match anything
50
+ match ':id' => 'pages#show'
51
+ ```
57
52
  ## Configuration
58
53
 
59
- By default, you can switch between Guest and all users in users table, you don't need to do anything. The following is the default configuration.
60
-
61
- SwitchUser.setup do |config|
62
- # provider may be :devise, :authlogic, :clearance, :restful_authentication or :sorcery
63
- config.provider = :devise
64
-
65
- # available_users is a hash,
66
- # key is the model name of user (:user, :admin, or any name you use),
67
- # value is a block that return the users that can be switched.
68
- config.available_users = { :user => lambda { User.all } }
69
-
70
- # available_users_identifiers is a hash,
71
- # keys in this hash should match a key in the available_users hash
72
- # value is the name of the identifying column to find by,
73
- # defaults to id
74
- # this hash is to allow you to specify a different column to
75
- # expose for instance a username on a User model instead of id
76
- config.available_users_identifiers = { :user => :id }
77
-
78
- # available_users_names is a hash,
79
- # keys in this hash should match a key in the available_users hash
80
- # value is the column name which will be displayed in select box
81
- config.available_users_names = { :user => :email }
82
-
83
- # controller_guard is a block,
84
- # if it returns true, the request will continue,
85
- # else the request will be refused and returns "Permission Denied"
86
- # if you switch from "admin" to user, the current_user param is "admin"
87
- config.controller_guard = lambda { |current_user, request| Rails.env.development? }
88
-
89
- # view_guard is a block,
90
- # if it returns true, the switch user select box will be shown,
91
- # else the select box will not be shown
92
- # if you switch from admin to "user", the current_user param is "user"
93
- config.view_guard = lambda { |current_user, request| Rails.env.development? }
94
-
95
- # redirect_path is a block, it returns which page will be redirected
96
- # after switching a user.
97
- config.redirect_path = lambda { |request, params| '/' }
98
- end
99
-
100
- If the default configuration can't meet your requirement, you can define your customized configuration in <code>config/initializers/switch_user.rb</code>
54
+ By default, you can switch between Guest and all users in users table, you don't need to do anything. The following is some of the more commonly used configuration options.
55
+ ```ruby
56
+ SwitchUser.setup do |config|
57
+ # provider may be :devise, :authlogic, :clearance, :restful_authentication or :sorcery
58
+ config.provider = :devise
59
+
60
+ # available_users is a hash,
61
+ # key is the model name of user (:user, :admin, or any name you use),
62
+ # value is a block that return the users that can be switched.
63
+ config.available_users = { :user => lambda { User.all } }
64
+
65
+ # available_users_identifiers is a hash,
66
+ # keys in this hash should match a key in the available_users hash
67
+ # value is the name of the identifying column to find by,
68
+ # defaults to id
69
+ # this hash is to allow you to specify a different column to
70
+ # expose for instance a username on a User model instead of id
71
+ config.available_users_identifiers = { :user => :id }
72
+
73
+ # available_users_names is a hash,
74
+ # keys in this hash should match a key in the available_users hash
75
+ # value is the column name which will be displayed in select box
76
+ config.available_users_names = { :user => :email }
77
+
78
+ # controller_guard is a block,
79
+ # if it returns true, the request will continue,
80
+ # else the request will be refused and returns "Permission Denied"
81
+ # if you switch from "admin" to user, the current_user param is "admin"
82
+ config.controller_guard = lambda { |current_user, request| Rails.env.development? }
83
+
84
+ # view_guard is a block,
85
+ # if it returns true, the switch user select box will be shown,
86
+ # else the select box will not be shown
87
+ # if you switch from admin to "user", the current_user param is "user"
88
+ config.view_guard = lambda { |current_user, request| Rails.env.development? }
89
+
90
+ # redirect_path is a block, it returns which page will be redirected
91
+ # after switching a user.
92
+ config.redirect_path = lambda { |request, params| '/' }
93
+ end
94
+ ```
95
+ If you need to override the default configuration, run <code>rails g switch_user:install</code> and a copy of the configuration file will be copied to <code>config/initializers/switch_user.rb</code> in your project.
101
96
 
102
97
  If you want to switch both available users and available admins
103
-
104
- config.available_users = { :user => lambda { User.available }, :admin => lambda { Admin.available } }
105
-
98
+ ```ruby
99
+ config.available_users = { :user => lambda { User.available }, :admin => lambda { Admin.available } }
100
+ ```
106
101
  If you want to use name column as the user identifier
107
-
108
- config.available_users_identifiers => { :user => :name }
109
-
102
+ ```ruby
103
+ config.available_users_identifiers => { :user => :name }
104
+ ```
110
105
  If you want to display the login field in switch user select box
111
-
112
- config.available_users_names = { :user => :login }
113
-
106
+ ```ruby
107
+ config.available_users_names = { :user => :login }
108
+ ```
114
109
  If you only allow switching from admin to user in production environment
115
-
116
- config.controller_guard = lambda { |current_user, request| Rails.env == "production" and current_user.admin? }
117
-
110
+ ```ruby
111
+ config.controller_guard = lambda { |current_user, request| Rails.env == "production" and current_user.admin? }
112
+ ```
118
113
  If you only want to display switch user select box for admins in production environment
119
-
120
- config.view_guard = lambda { |current_user, request| Rails.env == "production" and current_user and current_user.admin? }
121
-
114
+ ```ruby
115
+ config.view_guard = lambda { |current_user, request| Rails.env == "production" and current_user and current_user.admin? }
116
+ ```
122
117
  If you want to redirect user to "/dashboard" page
123
-
124
- config.redirect_path = lambda { |request, params| "/dashboard" }
125
-
118
+ ```ruby
119
+ config.redirect_path = lambda { |request, params| "/dashboard" }
120
+ ```
126
121
  If you want to hide a 'Guest' item in the helper dropdown list
127
-
128
- config.helper_with_guest = false
122
+ ```ruby
123
+ config.helper_with_guest = false
124
+ ```
125
+ ## Switch Back
126
+ Sometimes you'll want to be able to switch to an unprivileged user and then back again. This can be especially useful in production when trying to reproduce a problem a user is having. The problem is that once you switch to that unprivileged user, you don't have a way to safely switch_back without knowing who the original user was. That's what this feature is for.
127
+
128
+ You will need to make the following modifications to your configuration:
129
+ ```ruby
130
+ config.switch_user = true
131
+ config.controller_guard = lambda { |current_user, request, original_user|
132
+ current_user && current_user.admin? || original_user && original_user.super_admin?
133
+ }
134
+ # Do something similar for the view_guard as well.
135
+ ```
136
+ This example would allow an admin user to user switch_user, but would only let you switch back to another user if the original user was a super admin.
137
+
138
+ ### How it works
139
+
140
+ Click the checkbox next to switch_user_select menu to remember that user for this session. Once this
141
+ has been checked, that user is passed in as the 3rd option to the view and controller guards.
142
+ This allows you to check against current_user as well as that original_user to see if the
143
+ switch_user action should be allowed.
144
+
145
+ ### Warning
146
+
147
+ This feature should be used with extreme caution because of the security implications. This is especially true in a production environment.
129
148
 
130
149
  ## Credit
131
150
 
@@ -23,9 +23,7 @@ class SwitchUserController < ApplicationController
23
23
  end
24
24
 
25
25
  def available?
26
- SwitchUser.controller_guard(provider.current_user,
27
- request,
28
- provider.original_user)
26
+ SwitchUser.guard_class.new(self, provider).controller_available?
29
27
  end
30
28
 
31
29
  def handle_request(params)
@@ -33,11 +31,17 @@ class SwitchUserController < ApplicationController
33
31
  provider.logout_all
34
32
  else
35
33
  loader = SwitchUser::UserLoader.prepare(params)
36
- provider.login_exclusive(loader.user, :scope => loader.scope)
34
+ if SwitchUser.login_exclusive
35
+ provider.login_exclusive(loader.user, :scope => loader.scope)
36
+ else
37
+ provider.login_inclusive(loader.user, :scope => loader.scope)
38
+ end
37
39
  end
38
40
  end
39
41
 
42
+ # TODO make helper methods, so this can be eliminated from the
43
+ # SwitchUserHelper
40
44
  def provider
41
- SwitchUser.provider_class.new(self)
45
+ SwitchUser::Provider.init(self)
42
46
  end
43
47
  end
@@ -1,33 +1,29 @@
1
1
  module SwitchUserHelper
2
+ class SelectOption < Struct.new(:label, :scope_id); end
2
3
  def switch_user_select
3
- # TODO this should be moved in to a view file
4
4
  return unless available?
5
- options = ''
5
+ options = []
6
+ selected_user = nil
6
7
 
7
- options += content_tag(:option, 'Guest', :value => '', :selected => !current_user) if SwitchUser.helper_with_guest
8
+ options << SelectOption.new("Guest", "") if SwitchUser.helper_with_guest
8
9
  SwitchUser.available_users.each do |scope, user_proc|
9
-
10
10
  current_user = provider.current_user(scope)
11
11
  id_name = SwitchUser.available_users_identifiers[scope]
12
12
  name = SwitchUser.available_users_names[scope]
13
13
 
14
14
  user_proc.call.each do |user|
15
- user_match = (user == current_user)
16
- options += content_tag(:option,
17
- tag_label(user, name),
18
- :value => tag_value(user, id_name, scope),
19
- :selected => user_match)
15
+ if user == current_user
16
+ selected_user = tag_value(user, id_name, scope)
17
+ end
18
+ options << SelectOption.new(tag_label(user, name), tag_value(user, id_name, scope))
20
19
  end
21
20
  end
22
21
 
23
- if options.respond_to?(:html_safe)
24
- options = options.html_safe
25
- end
26
- if SwitchUser.switch_back
27
- concat check_box_tag "remember_user", "remember_user", provider.original_user.present?, :onchange => "location.href = 'switch_user/remember_user?remember=' + encodeURIComponent(this.checked)"
28
- end
29
- select_tag "switch_user_identifier", options,
30
- :onchange => "location.href = '/switch_user?scope_identifier=' + encodeURIComponent(this.options[this.selectedIndex].value)"
22
+ render :partial => "switch_user/widget",
23
+ :locals => {
24
+ :options => options,
25
+ :current_scope => selected_user
26
+ }
31
27
  end
32
28
 
33
29
  private
@@ -43,11 +39,10 @@ module SwitchUserHelper
43
39
  end
44
40
 
45
41
  def available?
46
- user = provider.current_users_without_scope.first
47
- SwitchUser.view_guard(user, request)
42
+ SwitchUser.guard_class.new(controller, provider).view_available?
48
43
  end
49
44
 
50
45
  def provider
51
- SwitchUser.provider_class.new(controller)
46
+ SwitchUser::Provider.init(controller)
52
47
  end
53
48
  end
@@ -0,0 +1,4 @@
1
+ <% if SwitchUser.switch_back %>
2
+ <%= check_box_tag "remember_user", "remember_user", provider.original_user.present?, :onchange => "location.href = 'switch_user/remember_user?remember=' + encodeURIComponent(this.checked)" %>
3
+ <% end %>
4
+ <%= select_tag "switch_user_identifier", options_from_collection_for_select(options, :scope_id, :label, current_scope), :onchange => "location.href = '/switch_user?scope_identifier=' + encodeURIComponent(this.options[this.selectedIndex].value)" %>
data/config/routes.rb CHANGED
@@ -1,12 +1,4 @@
1
- # TODO can this be writting once so that it is rails3 and rails4 compatible?
2
- if Rails.version =~ /^3/
3
- Rails.application.routes.draw do
4
- match 'switch_user' => 'switch_user#set_current_user'
5
- match 'switch_user/remember_user' => 'switch_user#remember_user'
6
- end
7
- elsif Rails.version =~ /^4/
8
- Rails.application.routes.draw do
9
- get :switch_user, :to => 'switch_user#set_current_user'
10
- get 'switch_user/remember_user', :to => 'switch_user#remember_user'
11
- end
1
+ Rails.application.routes.draw do
2
+ get :switch_user, :to => 'switch_user#set_current_user'
3
+ get 'switch_user/remember_user', :to => 'switch_user#remember_user'
12
4
  end
@@ -1,5 +1,5 @@
1
1
  SwitchUser.setup do |config|
2
- # provider may be :devise, :authlogic, :clearance, :restful_authentication or :sorcery
2
+ # provider may be :devise, :authlogic, :clearance, :restful_authentication, :sorcery, or :session
3
3
  config.provider = :devise
4
4
 
5
5
  # available_users is a hash,
@@ -39,4 +39,12 @@ SwitchUser.setup do |config|
39
39
  # helper_with_guest is a boolean value, if it set to false
40
40
  # the guest item in the helper won't be shown
41
41
  config.helper_with_guest = true
42
- end
42
+
43
+ # false = login from one scope to another and you are logged in only in both scopes
44
+ # true = you are logged only into one scope at a time
45
+ config.login_exclusive = true
46
+
47
+ # switch_back allows you to switch back to a previously selected user. See
48
+ # README for more details.
49
+ config.switch_back = false
50
+ end
data/lib/switch_user.rb CHANGED
@@ -1,9 +1,12 @@
1
- require 'switch_user/rails'
2
- require 'switch_user/provider'
3
- require 'active_support/core_ext'
1
+ if defined?(Rails)
2
+ require 'switch_user/rails'
3
+ end
4
4
 
5
5
  module SwitchUser
6
6
  autoload :UserLoader, "switch_user/user_loader"
7
+ autoload :Provider, "switch_user/provider"
8
+ autoload :BaseGuard, "switch_user/base_guard"
9
+ autoload :LambdaGuard, 'switch_user/lambda_guard'
7
10
 
8
11
  class InvalidScope < Exception; end
9
12
 
@@ -15,28 +18,22 @@ module SwitchUser
15
18
  mattr_accessor :session_key
16
19
  mattr_accessor :helper_with_guest
17
20
  mattr_accessor :switch_back
21
+ mattr_accessor :login_exclusive
22
+ mattr_accessor :controller_guard
23
+ mattr_accessor :view_guard
24
+ mattr_reader :guard_class
18
25
 
19
26
  def self.setup
20
27
  yield self
21
28
  end
22
29
 
23
- def self.provider_class
24
- "SwitchUser::Provider::#{provider.to_s.classify}".constantize
25
- end
26
-
27
30
  def self.available_scopes
28
31
  available_users.keys
29
32
  end
30
33
 
31
- def self.controller_guard(*args)
32
- call_guard(@@controller_guard, args)
34
+ def self.guard_class=(klass)
35
+ @@guard_class = klass.constantize
33
36
  end
34
- mattr_writer :controller_guard
35
-
36
- def self.view_guard(*args)
37
- call_guard(@@view_guard, args)
38
- end
39
- mattr_writer :view_guard
40
37
 
41
38
  private
42
39
 
@@ -45,17 +42,14 @@ module SwitchUser
45
42
  self.available_users = { :user => lambda { User.all } }
46
43
  self.available_users_identifiers = { :user => :id }
47
44
  self.available_users_names = { :user => :email }
45
+ self.guard_class = "SwitchUser::LambdaGuard"
48
46
  self.controller_guard = lambda { |current_user, request| Rails.env.development? }
49
47
  self.view_guard = lambda { |current_user, request| Rails.env.development? }
50
48
  self.redirect_path = lambda { |request, params| request.env["HTTP_REFERER"] ? :back : root_path }
51
49
  self.session_key = :user_id
52
50
  self.helper_with_guest = true
53
51
  self.switch_back = false
54
- end
55
-
56
- def self.call_guard(guard, args)
57
- arity = guard.arity
58
- guard.call(*args[0...arity])
52
+ self.login_exclusive = true
59
53
  end
60
54
 
61
55
  reset_config
@@ -0,0 +1,20 @@
1
+ module SwitchUser
2
+ class BaseGuard
3
+ # TODO is this the best arguments for the initializer ?
4
+ # TODO should @provider be set and current/original_user be added as # accessors ?
5
+ def initialize(controller, provider)
6
+ @controller = controller
7
+ @request = controller.request
8
+ @current_user = provider.current_user
9
+ @original_user = provider.original_user
10
+ end
11
+
12
+ def controller_available?
13
+ raise NotImplementedError.new("you must implement controller_available?")
14
+ end
15
+
16
+ def view_available?
17
+ controller_available?
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,22 @@
1
+ module SwitchUser
2
+ class LambdaGuard < BaseGuard
3
+ def controller_available?
4
+ call(SwitchUser.controller_guard)
5
+ end
6
+
7
+ def view_available?
8
+ call(SwitchUser.view_guard)
9
+ end
10
+
11
+ private
12
+
13
+ def args
14
+ [@current_user, @request, @original_user, @controller]
15
+ end
16
+
17
+ def call(guard)
18
+ arity = guard.arity
19
+ guard.call(*args[0...arity])
20
+ end
21
+ end
22
+ end
@@ -8,5 +8,12 @@ module SwitchUser
8
8
  autoload :Sorcery, "switch_user/provider/sorcery"
9
9
  autoload :Dummy, "switch_user/provider/dummy"
10
10
  autoload :Session, "switch_user/provider/session"
11
+
12
+ def self.init(controller)
13
+ klass_part = SwitchUser.provider.to_s.classify
14
+ klass = "SwitchUser::Provider::#{klass_part}".constantize
15
+
16
+ klass.new(controller)
17
+ end
11
18
  end
12
19
  end
@@ -16,6 +16,13 @@ module SwitchUser
16
16
  login(user, requested_scope)
17
17
  end
18
18
 
19
+ def login_inclusive(user, args)
20
+ requested_scope = args.fetch(:scope, :user).to_sym
21
+
22
+ logout(requested_scope)
23
+ login(user, requested_scope)
24
+ end
25
+
19
26
  def logout_all
20
27
  SwitchUser.available_scopes.each do |scope|
21
28
  logout(scope)
@@ -1,19 +1,9 @@
1
- if defined?(Rails)
2
- if defined? Rails::Engine
3
- module SwitchUser
4
- class Engine < Rails::Engine
5
- config.to_prepare do
6
- ActionView::Base.send :include, SwitchUserHelper
7
- end
1
+ module SwitchUser
2
+ class Engine < Rails::Engine
3
+ initializer "switch_user.view" do
4
+ ActiveSupport.on_load(:action_view) do
5
+ include SwitchUserHelper
8
6
  end
9
7
  end
10
- else
11
- %w(controllers helpers).each do |dir|
12
- path = File.join(File.dirname(__FILE__), '..', 'app', dir)
13
- $LOAD_PATH << path
14
- ActiveSupport::Dependencies.load_paths << path
15
- ActiveSupport::Dependencies.load_once_paths.delete(path)
16
- ActionView::Base.send :include, SwitchUserHelper
17
- end
18
8
  end
19
9
  end
@@ -1,3 +1,3 @@
1
1
  module SwitchUser
2
- VERSION = "0.9.2"
2
+ VERSION = "0.9.3"
3
3
  end
@@ -0,0 +1,10 @@
1
+ require 'spec_helper'
2
+
3
+ module SwitchUser
4
+ describe Provider do
5
+ it "initializes the provider" do
6
+ SwitchUser.provider = :dummy
7
+ Provider.init(stub(:controller)).should be_a(Provider::Dummy)
8
+ end
9
+ end
10
+ end
@@ -20,6 +20,10 @@ shared_examples_for "a provider" do
20
20
  provider.should respond_to(:login_exclusive)
21
21
  end
22
22
 
23
+ it "responds to login_exclusive" do
24
+ provider.should respond_to(:login_inclusive)
25
+ end
26
+
23
27
  it "knows if there are any users logged in" do
24
28
  provider.login(user)
25
29
 
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ module SwitchUser
4
+ describe LambdaGuard do
5
+ describe "#controller_available?" do
6
+ it "calls the controller_guard proc" do
7
+ controller = stub.as_null_object
8
+ provider = stub.as_null_object
9
+ guard = SwitchUser::LambdaGuard.new(controller, provider)
10
+
11
+ SwitchUser.controller_guard = lambda {|a| a }
12
+ guard.should be_controller_available
13
+
14
+ SwitchUser.controller_guard = lambda {|a| !a }
15
+ guard.should_not be_controller_available
16
+ end
17
+ end
18
+ end
19
+ end
@@ -14,26 +14,5 @@ describe SwitchUser do
14
14
  SwitchUser.provider = :sorcery
15
15
  SwitchUser.provider.should == :sorcery
16
16
  end
17
- it "sets the provider class" do
18
- SwitchUser.provider = :devise
19
- SwitchUser.provider_class.should == SwitchUser::Provider::Devise
20
- end
21
- end
22
-
23
- describe "guards" do
24
- it "can have a 1 argument lambda" do
25
- a = 0
26
- SwitchUser.controller_guard = lambda {|p1| a = p1 }
27
- SwitchUser.controller_guard(1,2,3)
28
-
29
- a.should == 1
30
- end
31
- it "can have a 3 argument lambda" do
32
- a = 0
33
- SwitchUser.view_guard = lambda {|p1,p2,p3| a = p3 }
34
- SwitchUser.view_guard(1,2,3)
35
-
36
- a.should == 3
37
- end
38
17
  end
39
18
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: switch_user
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.9.2
5
+ version: 0.9.3
6
6
  platform: ruby
7
7
  authors:
8
8
  - Richard Huang
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2013-05-02 00:00:00.000000000 Z
13
+ date: 2013-05-31 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  version_requirements: !ruby/object:Gem::Requirement
@@ -123,11 +123,14 @@ files:
123
123
  - Rakefile
124
124
  - app/controllers/switch_user_controller.rb
125
125
  - app/helpers/switch_user_helper.rb
126
+ - app/views/switch_user/_widget.html.erb
126
127
  - config/routes.rb
127
128
  - lib/generators/switch_user/install/USAGE
128
129
  - lib/generators/switch_user/install/install_generator.rb
129
130
  - lib/generators/switch_user/install/templates/switch_user.rb
130
131
  - lib/switch_user.rb
132
+ - lib/switch_user/base_guard.rb
133
+ - lib/switch_user/lambda_guard.rb
131
134
  - lib/switch_user/provider.rb
132
135
  - lib/switch_user/provider/authlogic.rb
133
136
  - lib/switch_user/provider/base.rb
@@ -140,7 +143,6 @@ files:
140
143
  - lib/switch_user/rails.rb
141
144
  - lib/switch_user/user_loader.rb
142
145
  - lib/switch_user/version.rb
143
- - rails/init.rb
144
146
  - spec/controllers/switch_user_controller_spec.rb
145
147
  - spec/provider/authlogic_spec.rb
146
148
  - spec/provider/clearance_spec.rb
@@ -149,9 +151,11 @@ files:
149
151
  - spec/provider/restful_authentication_spec.rb
150
152
  - spec/provider/session_spec.rb
151
153
  - spec/provider/sorcery_spec.rb
154
+ - spec/provider_spec.rb
152
155
  - spec/spec_helper.rb
153
156
  - spec/support/application.rb
154
157
  - spec/support/provider.rb
158
+ - spec/switch_user/lambda_guard_spec.rb
155
159
  - spec/switch_user/user_loader_spec.rb
156
160
  - spec/switch_user_spec.rb
157
161
  - switch_user.gemspec
data/rails/init.rb DELETED
@@ -1 +0,0 @@
1
- require 'switch_user'