devise_masquerade 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of devise_masquerade might be problematic. Click here for more details.

data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source :rubygems
1
+ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in devise_masquerade.gemspec
4
4
  gemspec
@@ -17,7 +17,7 @@ group :test do
17
17
  gem 'shoulda'
18
18
  gem 'rb-fsevent'
19
19
  gem 'factory_girl_rails'
20
- gem 'database_cleaner'
20
+ gem 'database_cleaner', '< 1.1.0'
21
21
  gem 'cucumber'
22
22
  gem 'cucumber-rails'
23
23
  gem 'capybara'
data/README.md CHANGED
@@ -29,6 +29,10 @@ In the view you can use url helper for defining link:
29
29
 
30
30
  = link_to "Login As", masquerade_path(user)
31
31
 
32
+ In the model you'll need to add the parameter :masqueradable to the existing comma separated values in the devise method:
33
+
34
+ devise :invitable, :confirmable, :database_authenticatable, :registerable, :masqueradable
35
+
32
36
  Add into your application_controller.rb:
33
37
 
34
38
  before_filter :masquerade_user!
@@ -2,6 +2,7 @@ class Devise::MasqueradesController < DeviseController
2
2
  prepend_before_filter :authenticate_scope!
3
3
 
4
4
  before_filter :save_masquerade_owner_session, :only => :show
5
+ after_filter :cleanup_masquerade_owner_session, :only => :back
5
6
 
6
7
  def show
7
8
  self.resource = resource_class.to_adapter.find_first(:id => params[:id])
@@ -16,8 +17,6 @@ class Devise::MasqueradesController < DeviseController
16
17
  def back
17
18
  owner_user = resource_class.to_adapter.find_first(:id => session[session_key])
18
19
 
19
- session[session_key] = nil
20
-
21
20
  sign_in owner_user
22
21
 
23
22
  redirect_to '/'
@@ -41,6 +40,10 @@ class Devise::MasqueradesController < DeviseController
41
40
  session[session_key] = send("current_#{resource_name}").id
42
41
  end
43
42
 
43
+ def cleanup_masquerade_owner_session
44
+ session.delete(session_key)
45
+ end
46
+
44
47
  def session_key
45
48
  "devise_masquerade_#{resource_name}".to_sym
46
49
  end
@@ -21,7 +21,7 @@ Gem::Specification.new do |gem|
21
21
 
22
22
  gem.add_development_dependency('bundler', '>= 1.1.0')
23
23
 
24
- gem.add_runtime_dependency('railties', '~> 3.0')
24
+ gem.add_runtime_dependency('railties', '>= 3.0')
25
25
  gem.add_runtime_dependency('devise', '>= 2.1.0')
26
26
  end
27
27
 
@@ -1,3 +1,3 @@
1
1
  module DeviseMasquerade
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
@@ -16,6 +16,7 @@ describe Devise::MasqueradesController do
16
16
  get :show, :id => mask.to_param
17
17
  end
18
18
 
19
+ it { session.keys.should include('devise_masquerade_user') }
19
20
  it { should redirect_to("/?masquerade=secure_key") }
20
21
  end
21
22
  end
@@ -32,13 +33,17 @@ describe Devise::MasqueradesController do
32
33
  context 'and masquerade user' do
33
34
  let(:mask) { create(:user) }
34
35
 
35
- before { get :show, :id => mask.to_param }
36
+ before do
37
+ SecureRandom.should_receive(:base64).and_return("secure_key")
38
+ get :show, :id => mask.to_param
39
+ end
36
40
 
37
41
  context 'and back' do
38
42
  before { get :back }
39
43
 
40
44
  it { should redirect_to(masquerade_page) }
41
45
  it { current_user.reload.should == @user }
46
+ it { session.keys.should_not include('devise_masquerade_user') }
42
47
  end
43
48
  end
44
49
  end
@@ -10,5 +10,6 @@ Devise.setup do |config|
10
10
  config.reconfirmable = true
11
11
  config.reset_password_within = 6.hours
12
12
  config.sign_out_via = :delete
13
+ config.secret_key = 'a4d9ea637f061521f68da64f5f66bd01746ea66a93f284725ad13ff6b27a1dac4ffde6503259f9445299bf855abaa56054f6d1fec5a09346e7220ee777236bb8'
13
14
  end
14
15
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise_masquerade
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-07-23 00:00:00.000000000 Z
12
+ date: 2013-10-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -32,7 +32,7 @@ dependencies:
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
- - - ~>
35
+ - - ! '>='
36
36
  - !ruby/object:Gem::Version
37
37
  version: '3.0'
38
38
  type: :runtime
@@ -40,7 +40,7 @@ dependencies:
40
40
  version_requirements: !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
- - - ~>
43
+ - - ! '>='
44
44
  - !ruby/object:Gem::Version
45
45
  version: '3.0'
46
46
  - !ruby/object:Gem::Dependency
@@ -139,12 +139,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
139
139
  - - ! '>='
140
140
  - !ruby/object:Gem::Version
141
141
  version: '0'
142
+ segments:
143
+ - 0
144
+ hash: -4505805506761439122
142
145
  required_rubygems_version: !ruby/object:Gem::Requirement
143
146
  none: false
144
147
  requirements:
145
148
  - - ! '>='
146
149
  - !ruby/object:Gem::Version
147
150
  version: '0'
151
+ segments:
152
+ - 0
153
+ hash: -4505805506761439122
148
154
  requirements: []
149
155
  rubyforge_project:
150
156
  rubygems_version: 1.8.25