switch_user 0.9.1 → 0.9.2

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/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source :gemcutter
1
+ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in switch_user.gemspec
4
4
  gemspec
data/README.md CHANGED
@@ -123,6 +123,10 @@ If you want to redirect user to "/dashboard" page
123
123
 
124
124
  config.redirect_path = lambda { |request, params| "/dashboard" }
125
125
 
126
+ If you want to hide a 'Guest' item in the helper dropdown list
127
+
128
+ config.helper_with_guest = false
129
+
126
130
  ## Credit
127
131
 
128
132
  Copyright © 2010 - 2012 Richard Huang (flyerhzm@gmail.com), released under the MIT license
@@ -1,9 +1,4 @@
1
1
  class SwitchUserController < ApplicationController
2
-
3
- unless Rails.version =~ /^3/
4
- unloadable
5
- end
6
-
7
2
  before_filter :developer_modes_only
8
3
 
9
4
  def set_current_user
@@ -12,6 +7,15 @@ class SwitchUserController < ApplicationController
12
7
  redirect_to(SwitchUser.redirect_path.call(request, params))
13
8
  end
14
9
 
10
+ def remember_user
11
+ # NOOP unless the user has explicity enabled this feature
12
+ if SwitchUser.switch_back
13
+ provider.remember_current_user(params[:remember] == "true")
14
+ end
15
+
16
+ redirect_to(SwitchUser.redirect_path.call(request, params))
17
+ end
18
+
15
19
  private
16
20
 
17
21
  def developer_modes_only
@@ -19,7 +23,9 @@ class SwitchUserController < ApplicationController
19
23
  end
20
24
 
21
25
  def available?
22
- SwitchUser.controller_guard(provider.current_user, request)
26
+ SwitchUser.controller_guard(provider.current_user,
27
+ request,
28
+ provider.original_user)
23
29
  end
24
30
 
25
31
  def handle_request(params)
@@ -1,10 +1,12 @@
1
1
  module SwitchUserHelper
2
2
  def switch_user_select
3
+ # TODO this should be moved in to a view file
3
4
  return unless available?
4
- options = ""
5
+ options = ''
5
6
 
6
- options += content_tag(:option, "Guest", :value => "", :selected => !current_user)
7
+ options += content_tag(:option, 'Guest', :value => '', :selected => !current_user) if SwitchUser.helper_with_guest
7
8
  SwitchUser.available_users.each do |scope, user_proc|
9
+
8
10
  current_user = provider.current_user(scope)
9
11
  id_name = SwitchUser.available_users_identifiers[scope]
10
12
  name = SwitchUser.available_users_names[scope]
@@ -21,6 +23,9 @@ module SwitchUserHelper
21
23
  if options.respond_to?(:html_safe)
22
24
  options = options.html_safe
23
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
24
29
  select_tag "switch_user_identifier", options,
25
30
  :onchange => "location.href = '/switch_user?scope_identifier=' + encodeURIComponent(this.options[this.selectedIndex].value)"
26
31
  end
data/config/routes.rb CHANGED
@@ -1,5 +1,12 @@
1
+ # TODO can this be writting once so that it is rails3 and rails4 compatible?
1
2
  if Rails.version =~ /^3/
2
3
  Rails.application.routes.draw do
3
4
  match 'switch_user' => 'switch_user#set_current_user'
5
+ match 'switch_user/remember_user' => 'switch_user#remember_user'
4
6
  end
5
- 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
12
+ end
@@ -0,0 +1,8 @@
1
+ Description:
2
+ This generator will create all the necessary files to use and customize switch_user.
3
+
4
+ Example:
5
+ rails generate switch_user:install
6
+
7
+ This will create:
8
+ config/initializer/switch_user.rb
@@ -0,0 +1,13 @@
1
+ module SwitchUser
2
+ module Generators
3
+ class InstallGenerator < Rails::Generators::Base
4
+ TEMPLATES_PATH = File.expand_path('../templates', __FILE__)
5
+ source_root File.expand_path(Engine.root, __FILE__)
6
+
7
+ def install_initializer
8
+ copy_file "#{TEMPLATES_PATH}/switch_user.rb", 'config/initializers/switch_user.rb'
9
+ end
10
+ end
11
+ end
12
+ end
13
+
@@ -0,0 +1,42 @@
1
+ SwitchUser.setup do |config|
2
+ # provider may be :devise, :authlogic, :clearance, :restful_authentication or :sorcery
3
+ config.provider = :devise
4
+
5
+ # available_users is a hash,
6
+ # key is the model name of user (:user, :admin, or any name you use),
7
+ # value is a block that return the users that can be switched.
8
+ config.available_users = { :user => lambda { User.all } }
9
+
10
+ # available_users_identifiers is a hash,
11
+ # keys in this hash should match a key in the available_users hash
12
+ # value is the name of the identifying column to find by,
13
+ # defaults to id
14
+ # this hash is to allow you to specify a different column to
15
+ # expose for instance a username on a User model instead of id
16
+ config.available_users_identifiers = { :user => :id }
17
+
18
+ # available_users_names is a hash,
19
+ # keys in this hash should match a key in the available_users hash
20
+ # value is the column name which will be displayed in select box
21
+ config.available_users_names = { :user => :email }
22
+
23
+ # controller_guard is a block,
24
+ # if it returns true, the request will continue,
25
+ # else the request will be refused and returns "Permission Denied"
26
+ # if you switch from "admin" to user, the current_user param is "admin"
27
+ config.controller_guard = lambda { |current_user, request| Rails.env.development? }
28
+
29
+ # view_guard is a block,
30
+ # if it returns true, the switch user select box will be shown,
31
+ # else the select box will not be shown
32
+ # if you switch from admin to "user", the current_user param is "user"
33
+ config.view_guard = lambda { |current_user, request| Rails.env.development? }
34
+
35
+ # redirect_path is a block, it returns which page will be redirected
36
+ # after switching a user.
37
+ config.redirect_path = lambda { |request, params| '/' }
38
+
39
+ # helper_with_guest is a boolean value, if it set to false
40
+ # the guest item in the helper won't be shown
41
+ config.helper_with_guest = true
42
+ end
data/lib/switch_user.rb CHANGED
@@ -11,10 +11,10 @@ module SwitchUser
11
11
  mattr_accessor :available_users
12
12
  mattr_accessor :available_users_identifiers
13
13
  mattr_accessor :available_users_names
14
- mattr_writer :controller_guard
15
- mattr_writer :view_guard
16
14
  mattr_accessor :redirect_path
17
15
  mattr_accessor :session_key
16
+ mattr_accessor :helper_with_guest
17
+ mattr_accessor :switch_back
18
18
 
19
19
  def self.setup
20
20
  yield self
@@ -31,10 +31,12 @@ module SwitchUser
31
31
  def self.controller_guard(*args)
32
32
  call_guard(@@controller_guard, args)
33
33
  end
34
+ mattr_writer :controller_guard
34
35
 
35
36
  def self.view_guard(*args)
36
37
  call_guard(@@view_guard, args)
37
38
  end
39
+ mattr_writer :view_guard
38
40
 
39
41
  private
40
42
 
@@ -47,6 +49,8 @@ module SwitchUser
47
49
  self.view_guard = lambda { |current_user, request| Rails.env.development? }
48
50
  self.redirect_path = lambda { |request, params| request.env["HTTP_REFERER"] ? :back : root_path }
49
51
  self.session_key = :user_id
52
+ self.helper_with_guest = true
53
+ self.switch_back = false
50
54
  end
51
55
 
52
56
  def self.call_guard(guard, args)
@@ -1,5 +1,6 @@
1
1
  module SwitchUser
2
2
  module Provider
3
+ autoload :Base, "switch_user/provider/base"
3
4
  autoload :Authlogic, "switch_user/provider/authlogic"
4
5
  autoload :Clearance, "switch_user/provider/clearance"
5
6
  autoload :Devise, "switch_user/provider/devise"
@@ -1,5 +1,3 @@
1
- require 'switch_user/provider/base'
2
-
3
1
  module SwitchUser
4
2
  module Provider
5
3
  class Authlogic < Base
@@ -21,6 +21,22 @@ module SwitchUser
21
21
  logout(scope)
22
22
  end
23
23
  end
24
+
25
+ def original_user
26
+ @controller.session[:original_user]
27
+ end
28
+
29
+ def remember_current_user(remember)
30
+ if remember
31
+ @controller.session[:original_user] = current_user
32
+ else
33
+ @controller.session.delete(:original_user)
34
+ end
35
+ end
36
+
37
+ def clear_original_user
38
+ @controller.session.delete(:original_user)
39
+ end
24
40
  end
25
41
  end
26
42
  end
@@ -1,5 +1,3 @@
1
- require 'switch_user/provider/base'
2
-
3
1
  module SwitchUser
4
2
  module Provider
5
3
  class Clearance < Base
@@ -1,5 +1,3 @@
1
- require 'switch_user/provider/base'
2
-
3
1
  module SwitchUser
4
2
  module Provider
5
3
  class Devise < Base
@@ -17,7 +15,7 @@ module SwitchUser
17
15
  end
18
16
 
19
17
  def current_user(scope = :user)
20
- @controller.send("current_#{scope}")
18
+ @warden.user(scope)
21
19
  end
22
20
  end
23
21
  end
@@ -1,5 +1,3 @@
1
- require 'switch_user/provider/base'
2
-
3
1
  module SwitchUser
4
2
  module Provider
5
3
  class Dummy < Base
@@ -18,6 +16,18 @@ module SwitchUser
18
16
  def current_user(scope = nil)
19
17
  @user
20
18
  end
19
+
20
+ def original_user
21
+ @original_user
22
+ end
23
+
24
+ def remember_current_user(remember)
25
+ if remember
26
+ @original_user = current_user
27
+ else
28
+ @original_user = nil
29
+ end
30
+ end
21
31
  end
22
32
  end
23
33
  end
@@ -1,5 +1,3 @@
1
- require 'switch_user/provider/base'
2
-
3
1
  module SwitchUser
4
2
  module Provider
5
3
  class RestfulAuthentication < Base
@@ -1,5 +1,3 @@
1
- require 'switch_user/provider/base'
2
-
3
1
  module SwitchUser
4
2
  module Provider
5
3
  class Session < Base
@@ -1,5 +1,3 @@
1
- require 'switch_user/provider/base'
2
-
3
1
  module SwitchUser
4
2
  module Provider
5
3
  class Sorcery < Base
@@ -1,3 +1,3 @@
1
1
  module SwitchUser
2
- VERSION = "0.9.1"
2
+ VERSION = "0.9.2"
3
3
  end
@@ -7,18 +7,65 @@ describe SwitchUserController, :type => :controller do
7
7
  SwitchUser.provider = :dummy
8
8
  end
9
9
 
10
- it "redirects the user to the specified location" do
11
- SwitchUser.redirect_path = lambda {|_,_| "/path"}
12
- controller.stub(:available? => true)
13
- get :set_current_user, :scope_identifier => "user_1"
10
+ let(:admin) { stub(:admin, :admin? => true) }
11
+ let(:provider) { stub(:provider,
12
+ :original_user => admin,
13
+ :current_user => nil)
14
+ }
15
+ describe "#set_current_user" do
16
+ it "redirects the user to the specified location" do
17
+ SwitchUser.redirect_path = lambda {|_,_| "/path"}
18
+ controller.stub(:available? => true)
19
+ get :set_current_user, :scope_identifier => "user_1"
14
20
 
15
- response.should redirect_to("/path")
21
+ response.should redirect_to("/path")
22
+ end
23
+
24
+ it "denies access according to the guard block" do
25
+ SwitchUser.controller_guard = lambda {|_,_,_| false }
26
+ get :set_current_user
27
+
28
+ response.should be_forbidden
29
+ end
30
+
31
+ describe "requests with a privileged original_user" do
32
+ before do
33
+ SwitchUser.controller_guard = lambda {|current_user, _, original_user|
34
+ current_user.try(:admin?) || original_user.try(:admin?)
35
+ }
36
+ end
37
+ it "allows access using the original_user param" do
38
+ controller.stub(:provider => provider)
39
+
40
+ provider.should_receive(:logout_all)
41
+
42
+ get :set_current_user
43
+
44
+ response.should be_redirect
45
+ end
46
+ end
16
47
  end
17
48
 
18
- it "denies access according to the guard block" do
19
- SwitchUser.controller_guard = lambda {|_,_| false }
20
- get :set_current_user
49
+ describe "#remember_user" do
50
+ before do
51
+ controller.stub(:provider => provider)
52
+ SwitchUser.switch_back = true
53
+ end
54
+ it "can remember the current user" do
55
+ provider.should_receive(:remember_current_user).with(true)
56
+
57
+ get :remember_user, :remember => "true"
58
+ end
59
+ it "can forget the current user" do
60
+ provider.should_receive(:remember_current_user).with(false)
61
+
62
+ get :remember_user, :remember => "false"
63
+ end
64
+ it "does nothing if switch_back is not enabled" do
65
+ SwitchUser.switch_back = false
66
+ provider.should_not_receive(:remember_current_user)
21
67
 
22
- response.should be_forbidden
68
+ get :remember_user, :remember => "true"
69
+ end
23
70
  end
24
71
  end
@@ -23,7 +23,7 @@ class UserSession
23
23
  end
24
24
  end
25
25
 
26
- class AuthlogicController
26
+ class AuthlogicController < TestController
27
27
  def current_user_session
28
28
  UserSession
29
29
  end
@@ -1,15 +1,15 @@
1
1
  require 'spec_helper'
2
2
  require 'switch_user/provider/clearance'
3
3
 
4
- class ClearanceController
4
+ class ClearanceController < TestController
5
5
  def sign_in(user)
6
6
  @user = user
7
7
  end
8
-
8
+
9
9
  def sign_out
10
10
  @user = nil
11
11
  end
12
-
12
+
13
13
  def current_user
14
14
  @user
15
15
  end
@@ -20,4 +20,4 @@ describe SwitchUser::Provider::Clearance do
20
20
  let(:provider) { SwitchUser::Provider::Clearance.new(controller) }
21
21
 
22
22
  it_behaves_like "a provider"
23
- end
23
+ end
@@ -13,22 +13,22 @@ class FakeWarden
13
13
  @user_hash[scope] = user
14
14
  end
15
15
 
16
+ def user(scope)
17
+ @user_hash[scope]
18
+ end
19
+
16
20
  def logout(scope)
17
21
  @user_hash.delete(scope)
18
22
  end
19
23
  end
20
24
 
21
- class DeviseController
25
+ class DeviseController < TestController
22
26
  def warden
23
27
  @warden ||= FakeWarden.new
24
28
  end
25
29
 
26
30
  def current_user
27
- @warden.user_hash[:user]
28
- end
29
-
30
- def current_admin
31
- @warden.user_hash[:admin]
31
+ @warder.user
32
32
  end
33
33
  end
34
34
 
@@ -0,0 +1,12 @@
1
+ require 'spec_helper'
2
+ require 'switch_user/provider/dummy'
3
+
4
+ class SessionController < TestController
5
+ end
6
+
7
+ describe SwitchUser::Provider::Session do
8
+ let(:controller) { SessionController.new }
9
+ let(:provider) { SwitchUser::Provider::Dummy.new(controller) }
10
+
11
+ it_behaves_like "a provider"
12
+ end
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
  require 'switch_user/provider/restful_authentication'
3
3
 
4
- class RestfulAuthenticationController
4
+ class RestfulAuthenticationController < TestController
5
5
  attr_accessor :current_user
6
6
 
7
7
  def logout_killing_session!
@@ -1,11 +1,7 @@
1
1
  require 'spec_helper'
2
2
  require 'switch_user/provider/session'
3
3
 
4
- class SessionController
5
- def session
6
- @session_hash ||= {}
7
- end
8
-
4
+ class SessionController < TestController
9
5
  def current_user
10
6
  User.find_by_id(session[:uid]) if session[:uid]
11
7
  end
@@ -15,6 +11,7 @@ describe SwitchUser::Provider::Session do
15
11
  before do
16
12
  user.stub(:id => 100)
17
13
  User.stub(:find_by_id).with(100).and_return(user)
14
+ User.stub(:find_by_id).with(101).and_return(other_user)
18
15
  SwitchUser.session_key = :uid
19
16
  end
20
17
  let(:controller) { SessionController.new }
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
  require 'switch_user/provider/sorcery'
3
3
 
4
- class SorceryController
4
+ class SorceryController < TestController
5
5
  def logout
6
6
  @user = nil
7
7
  end
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'support/provider'
2
2
  require 'support/application'
3
3
  require 'rspec/rails'
4
+ require 'switch_user'
4
5
 
5
6
  RSpec.configure do |config|
6
7
  config.filter_run :focus => true
@@ -10,3 +11,16 @@ end
10
11
  class ApplicationController < ActionController::Base
11
12
 
12
13
  end
14
+
15
+ class TestController
16
+ def session
17
+ @session_hash ||= {}
18
+ end
19
+ end
20
+
21
+ class User
22
+ def self.where(*)
23
+ []
24
+ end
25
+ end
26
+
@@ -1,5 +1,6 @@
1
1
  shared_examples_for "a provider" do
2
2
  let(:user) { stub(:user) }
3
+ let(:other_user) { stub(:other_user, :id => 101) }
3
4
 
4
5
  it "can log a user in" do
5
6
  provider.login(user)
@@ -24,4 +25,23 @@ shared_examples_for "a provider" do
24
25
 
25
26
  provider.current_users_without_scope.should == [user]
26
27
  end
28
+
29
+ it "can lock the original user, allowing us to change current_user" do
30
+ provider.login(user)
31
+ provider.remember_current_user(true)
32
+ provider.login(other_user)
33
+
34
+ provider.original_user.should == user
35
+ provider.current_user.should == other_user
36
+ end
37
+
38
+ it "can forget the original_user" do
39
+ provider.login(user)
40
+ provider.remember_current_user(true)
41
+
42
+ provider.original_user.should == user
43
+ provider.remember_current_user(false)
44
+
45
+ provider.original_user.should == nil
46
+ end
27
47
  end
@@ -1,12 +1,6 @@
1
1
  require 'spec_helper'
2
2
  require 'switch_user/user_loader'
3
3
 
4
- class User
5
- def self.where(*)
6
- []
7
- end
8
- end
9
-
10
4
  describe SwitchUser::UserLoader do
11
5
  let(:user) { stub(:user) }
12
6
  let(:user_result) { [user] }
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: switch_user
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
5
4
  prerelease:
5
+ version: 0.9.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - Richard Huang
@@ -10,104 +10,104 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-12-21 00:00:00.000000000 Z
13
+ date: 2013-05-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: activesupport
17
- requirement: !ruby/object:Gem::Requirement
18
- none: false
16
+ version_requirements: !ruby/object:Gem::Requirement
19
17
  requirements:
20
18
  - - ! '>='
21
19
  - !ruby/object:Gem::Version
22
20
  version: '0'
21
+ none: false
22
+ name: activesupport
23
23
  type: :development
24
24
  prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- none: false
25
+ requirement: !ruby/object:Gem::Requirement
27
26
  requirements:
28
27
  - - ! '>='
29
28
  - !ruby/object:Gem::Version
30
29
  version: '0'
31
- - !ruby/object:Gem::Dependency
32
- name: bundler
33
- requirement: !ruby/object:Gem::Requirement
34
30
  none: false
31
+ - !ruby/object:Gem::Dependency
32
+ version_requirements: !ruby/object:Gem::Requirement
35
33
  requirements:
36
34
  - - ! '>='
37
35
  - !ruby/object:Gem::Version
38
36
  version: 1.0.0
37
+ none: false
38
+ name: bundler
39
39
  type: :development
40
40
  prerelease: false
41
- version_requirements: !ruby/object:Gem::Requirement
42
- none: false
41
+ requirement: !ruby/object:Gem::Requirement
43
42
  requirements:
44
43
  - - ! '>='
45
44
  - !ruby/object:Gem::Version
46
45
  version: 1.0.0
47
- - !ruby/object:Gem::Dependency
48
- name: actionpack
49
- requirement: !ruby/object:Gem::Requirement
50
46
  none: false
47
+ - !ruby/object:Gem::Dependency
48
+ version_requirements: !ruby/object:Gem::Requirement
51
49
  requirements:
52
50
  - - ! '>='
53
51
  - !ruby/object:Gem::Version
54
52
  version: '0'
53
+ none: false
54
+ name: actionpack
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: !ruby/object:Gem::Requirement
58
- none: false
57
+ requirement: !ruby/object:Gem::Requirement
59
58
  requirements:
60
59
  - - ! '>='
61
60
  - !ruby/object:Gem::Version
62
61
  version: '0'
63
- - !ruby/object:Gem::Dependency
64
- name: railties
65
- requirement: !ruby/object:Gem::Requirement
66
62
  none: false
63
+ - !ruby/object:Gem::Dependency
64
+ version_requirements: !ruby/object:Gem::Requirement
67
65
  requirements:
68
66
  - - ! '>='
69
67
  - !ruby/object:Gem::Version
70
68
  version: '0'
69
+ none: false
70
+ name: railties
71
71
  type: :development
72
72
  prerelease: false
73
- version_requirements: !ruby/object:Gem::Requirement
74
- none: false
73
+ requirement: !ruby/object:Gem::Requirement
75
74
  requirements:
76
75
  - - ! '>='
77
76
  - !ruby/object:Gem::Version
78
77
  version: '0'
79
- - !ruby/object:Gem::Dependency
80
- name: rspec-rails
81
- requirement: !ruby/object:Gem::Requirement
82
78
  none: false
79
+ - !ruby/object:Gem::Dependency
80
+ version_requirements: !ruby/object:Gem::Requirement
83
81
  requirements:
84
82
  - - ~>
85
83
  - !ruby/object:Gem::Version
86
84
  version: 2.11.0
85
+ none: false
86
+ name: rspec-rails
87
87
  type: :development
88
88
  prerelease: false
89
- version_requirements: !ruby/object:Gem::Requirement
90
- none: false
89
+ requirement: !ruby/object:Gem::Requirement
91
90
  requirements:
92
91
  - - ~>
93
92
  - !ruby/object:Gem::Version
94
93
  version: 2.11.0
95
- - !ruby/object:Gem::Dependency
96
- name: tzinfo
97
- requirement: !ruby/object:Gem::Requirement
98
94
  none: false
95
+ - !ruby/object:Gem::Dependency
96
+ version_requirements: !ruby/object:Gem::Requirement
99
97
  requirements:
100
98
  - - ! '>='
101
99
  - !ruby/object:Gem::Version
102
100
  version: '0'
101
+ none: false
102
+ name: tzinfo
103
103
  type: :development
104
104
  prerelease: false
105
- version_requirements: !ruby/object:Gem::Requirement
106
- none: false
105
+ requirement: !ruby/object:Gem::Requirement
107
106
  requirements:
108
107
  - - ! '>='
109
108
  - !ruby/object:Gem::Version
110
109
  version: '0'
110
+ none: false
111
111
  description: Easily switch current user to speed up development
112
112
  email:
113
113
  - flyerhzm@gmail.com
@@ -124,6 +124,9 @@ files:
124
124
  - app/controllers/switch_user_controller.rb
125
125
  - app/helpers/switch_user_helper.rb
126
126
  - config/routes.rb
127
+ - lib/generators/switch_user/install/USAGE
128
+ - lib/generators/switch_user/install/install_generator.rb
129
+ - lib/generators/switch_user/install/templates/switch_user.rb
127
130
  - lib/switch_user.rb
128
131
  - lib/switch_user/provider.rb
129
132
  - lib/switch_user/provider/authlogic.rb
@@ -142,6 +145,7 @@ files:
142
145
  - spec/provider/authlogic_spec.rb
143
146
  - spec/provider/clearance_spec.rb
144
147
  - spec/provider/devise_spec.rb
148
+ - spec/provider/dummy_spec.rb
145
149
  - spec/provider/restful_authentication_spec.rb
146
150
  - spec/provider/session_spec.rb
147
151
  - spec/provider/sorcery_spec.rb
@@ -158,17 +162,17 @@ rdoc_options: []
158
162
  require_paths:
159
163
  - lib
160
164
  required_ruby_version: !ruby/object:Gem::Requirement
161
- none: false
162
165
  requirements:
163
166
  - - ! '>='
164
167
  - !ruby/object:Gem::Version
165
168
  version: '0'
166
- required_rubygems_version: !ruby/object:Gem::Requirement
167
169
  none: false
170
+ required_rubygems_version: !ruby/object:Gem::Requirement
168
171
  requirements:
169
172
  - - ! '>='
170
173
  - !ruby/object:Gem::Version
171
174
  version: 1.3.6
175
+ none: false
172
176
  requirements: []
173
177
  rubyforge_project: switch_user
174
178
  rubygems_version: 1.8.23