devise_masquerade 0.0.7 → 0.0.8

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.

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