devise_masquerade 0.1.7 → 0.1.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.

checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- OGU0ODIyMzU2MDI5NjBjMTBhYjQ5MjNjZTk0ODc4YTA1ZTEwMGUxZg==
5
- data.tar.gz: !binary |-
6
- NjAyZTRiZjI0NDc3MTYxMzFiZmQwOTQ5YmMxZjEyZGNjMDMwNTJiMg==
2
+ SHA1:
3
+ metadata.gz: bd90ee31c8c44319dca92d2db3f2879dcbf48313
4
+ data.tar.gz: d4a565eb9f84db1cf91d2f39ea61ac319c04967d
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- NmZjMjk5YWQ4MGVkNmFjMWZmOTA0YmIyZjk2NTRjMDRkNDJjYWI4NzNlMWZl
10
- YmU4NDM1NjdjMTI5MGU1MjkxOGZjMTFmYzdkYzRiNmQwMTQ3MzMyNDU1YmRm
11
- Yzk4NTU3NzEzZWQzZTVlNWZmMDU2YTRiOTI5YmFhYzY2YTcyYTQ=
12
- data.tar.gz: !binary |-
13
- ZDM0YjI3ZWRiMDUyODY5NmUzMjJjZjEzNzM5M2ViOTg5ZDhlMjI3ODkxODc2
14
- ZThlMTA3ZmFiYjFiYjc3ZTYzMDc3ZTk0MDY3MDNkOGY4MWMxMGQ5NDUxNzQ0
15
- YTIwYjQ5MjRhMmE0Y2ZjZWYyMmM1YTljZmQ2OWExMTU1MTczODQ=
6
+ metadata.gz: d5d61d8088ef18ee889eb0170bc643332ee4a1616e5e81c2a8daf22df847f0aedaa6477ae18e5b8740399b9688d3ef9033c4835f855a8ac69c101c95f0c0fc58
7
+ data.tar.gz: 4c5c81fcbae5c4e911f680ea12fcebef274d5844822610deb8276a3e6d52f4170f6c5e72da4122c64ebe11fb46e210ab9a8e094374cf54ee82794d0bf7bdb16f
@@ -0,0 +1 @@
1
+ 2.2.5
data/.rvmrc CHANGED
@@ -1 +1 @@
1
- rvm use --create 1.9.3@devise_masquerade
1
+ rvm use --create 2.3.1@devise_masquerade
@@ -1,4 +1,13 @@
1
1
  language: ruby
2
2
  rvm:
3
- - "1.9.3"
4
-
3
+ - 2.2.5
4
+ - 2.3.1
5
+ gemfile:
6
+ - Gemfile
7
+ script: time ./script/travis.sh
8
+ cache: bundler
9
+ sudo: false
10
+ addons:
11
+ apt:
12
+ packages:
13
+ - time
data/Gemfile CHANGED
@@ -8,12 +8,21 @@ group :test do
8
8
  gem 'actionmailer', '~> 3.0'
9
9
  gem "bson_ext", "~> 1.3"
10
10
  gem 'sqlite3'
11
- gem 'debugger'
11
+
12
+ gem 'test-unit'
13
+
14
+ gem 'pry'
15
+ gem 'pry-byebug'
16
+
12
17
  gem 'guard'
13
18
  gem 'guard-rspec'
14
19
  gem 'guard-bundler'
15
20
  gem 'guard-cucumber'
21
+
16
22
  gem 'rspec-rails'
23
+ gem 'rspec'
24
+ gem 'rspec-mocks'
25
+
17
26
  gem 'shoulda'
18
27
  gem 'rb-fsevent'
19
28
  gem 'factory_girl_rails'
@@ -24,4 +33,3 @@ group :test do
24
33
  gem 'capybara-webkit'
25
34
  gem 'launchy'
26
35
  end
27
-
data/README.md CHANGED
@@ -1,4 +1,5 @@
1
1
  # Devise Masquerade
2
+ [![Gitter](https://badges.gitter.im/Join Chat.svg)](https://gitter.im/oivoodoo/devise_masquerade?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
2
3
 
3
4
  [![Build Status](https://secure.travis-ci.org/oivoodoo/devise_masquerade.png?branch=master)](https://travis-ci.org/oivoodoo/devise_masquerade)
4
5
 
data/Rakefile CHANGED
@@ -1,7 +1 @@
1
1
  require "bundler/gem_tasks"
2
-
3
- task :default do
4
- system 'cd spec/dummy/ && bundle exec rake db:setup && bundle exec rake db:test:prepare && cd ../../'
5
- system 'bundle exec rspec && bundle exec cucumber'
6
- end
7
-
@@ -10,8 +10,17 @@ class Devise::MasqueradesController < DeviseController
10
10
  redirect_to(new_user_session_path) and return unless self.resource
11
11
 
12
12
  self.resource.masquerade!
13
-
14
- sign_in(self.resource, :bypass => Devise.masquerade_bypass_warden_callback)
13
+ request.env["devise.skip_trackable"] = "1"
14
+
15
+ if Devise.masquerade_bypass_warden_callback
16
+ if respond_to?(:bypass_sign_in)
17
+ bypass_sign_in(self.resource)
18
+ else
19
+ sign_in(self.resource, :bypass => true)
20
+ end
21
+ else
22
+ sign_in(self.resource)
23
+ end
15
24
 
16
25
  redirect_to("#{after_masquerade_path_for(self.resource)}?#{after_masquerade_param_for(resource)}")
17
26
  end
@@ -25,7 +34,16 @@ class Devise::MasqueradesController < DeviseController
25
34
  send(:"current_#{resource_name}")
26
35
  end
27
36
 
28
- sign_in(owner_user, :bypass => Devise.masquerade_bypass_warden_callback)
37
+ if Devise.masquerade_bypass_warden_callback
38
+ if respond_to?(:bypass_sign_in)
39
+ bypass_sign_in(owner_user)
40
+ else
41
+ sign_in(owner_user, :bypass => true)
42
+ end
43
+ else
44
+ sign_in(owner_user)
45
+ end
46
+ request.env["devise.skip_trackable"] = nil
29
47
 
30
48
  redirect_to after_back_masquerade_path_for(owner_user)
31
49
  end
@@ -6,6 +6,5 @@ Given /^I logged in$/ do
6
6
  fill_in 'user[email]', :with => @user.email
7
7
  fill_in 'user[password]', :with => 'password'
8
8
 
9
- click_on 'Sign in'
9
+ click_on 'Log in'
10
10
  end
11
-
@@ -11,16 +11,32 @@ module DeviseMasquerade
11
11
 
12
12
  #{name} = ::#{class_name}.find_by_masquerade_key(params[:masquerade])
13
13
 
14
- sign_in(#{name}, :bypass => Devise.masquerade_bypass_warden_callback) if #{name}
14
+ if #{name}
15
+ if Devise.masquerade_bypass_warden_callback
16
+ if respond_to?(:bypass_sign_in)
17
+ bypass_sign_in(#{name})
18
+ else
19
+ sign_in(#{name}, :bypass => true)
20
+ end
21
+ else
22
+ sign_in(#{name})
23
+ end
24
+ end
15
25
  end
16
26
 
17
27
  def #{name}_masquerade?
18
28
  session[:"devise_masquerade_#{name}"].present?
19
29
  end
30
+
31
+ def #{name}_masquerade_owner
32
+ return nil unless send(:#{name}_masquerade?)
33
+ ::#{class_name}.to_adapter.find_first(:id => session[:"devise_masquerade_#{name}"])
34
+ end
20
35
  METHODS
21
36
 
22
37
  ActiveSupport.on_load(:action_controller) do
23
38
  helper_method "#{name}_masquerade?"
39
+ helper_method "#{name}_masquerade_owner"
24
40
  end
25
41
  end
26
42
  end
@@ -1,3 +1,3 @@
1
1
  module DeviseMasquerade
2
- VERSION = "0.1.7"
2
+ VERSION = "0.1.8"
3
3
  end
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -e
4
+
5
+ function red() {
6
+ echo -e "\e[00;31m$1\e[00m"
7
+ }
8
+
9
+ (cd spec/dummy/ && RAILS_ENV=test bundle exec rake db:setup && cd ../../ && bundle exec rspec && bundle exec cucumber) || { red "Failed specs"; exit 1; }
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Admin::DashboardController do
3
+ describe Admin::DashboardController, type: :controller do
4
4
  context 'when logged in' do
5
5
  before { admin_logged_in }
6
6
 
@@ -12,8 +12,7 @@ describe Admin::DashboardController do
12
12
  get :index, :masquerade => user.masquerade_key
13
13
  end
14
14
 
15
- it { current_admin_user.reload.should == user }
15
+ it { expect(current_admin_user.reload).to eq(user) }
16
16
  end
17
17
  end
18
18
  end
19
-
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe DashboardController do
3
+ describe DashboardController, type: :controller do
4
4
  context 'when logged in' do
5
5
  before { logged_in }
6
6
 
@@ -13,8 +13,7 @@ describe DashboardController do
13
13
  get :index, :masquerade => user.masquerade_key
14
14
  end
15
15
 
16
- it { current_user.reload.should == user }
16
+ it { expect(current_user.reload).to eq(user) }
17
17
  end
18
18
  end
19
19
  end
20
-
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe Devise::MasqueradesController do
3
+ describe Devise::MasqueradesController, type: :controller do
4
4
  context 'with configured devise app' do
5
5
  before { @request.env['devise.mapping'] = Devise.mappings[:user] }
6
6
 
@@ -11,20 +11,20 @@ describe Devise::MasqueradesController do
11
11
  let(:mask) { create(:user) }
12
12
 
13
13
  before do
14
- SecureRandom.should_receive(:urlsafe_base64).and_return("secure_key")
14
+ expect(SecureRandom).to receive(:urlsafe_base64) { "secure_key" }
15
15
  get :show, :id => mask.to_param
16
16
  end
17
17
 
18
- it { session.keys.should include('devise_masquerade_user') }
19
- it { session["warden.user.user.key"].first.first.should == mask.id }
18
+ it { expect(session.keys).to include('devise_masquerade_user') }
19
+ it { expect(session["warden.user.user.key"].first.first).to eq(mask.id) }
20
20
  it { should redirect_to("/?masquerade=secure_key") }
21
21
 
22
22
  context 'and back' do
23
23
  before { get :back }
24
24
 
25
25
  it { should redirect_to(masquerade_page) }
26
- it { current_user.reload.should == @user }
27
- it { session.keys.should_not include('devise_masquerade_user') }
26
+ it { expect(current_user.reload).to eq(@user) }
27
+ it { expect(session.keys).not_to include('devise_masquerade_user') }
28
28
  end
29
29
  end
30
30
  end
@@ -41,4 +41,3 @@ describe Devise::MasqueradesController do
41
41
  "/"
42
42
  end
43
43
  end
44
-
@@ -5,22 +5,22 @@ describe User do
5
5
 
6
6
  describe '#masquerade!' do
7
7
  it 'should cache special key on masquerade' do
8
- SecureRandom.should_receive(:urlsafe_base64).with(16).and_return("secure_key")
8
+ expect(SecureRandom).to receive(:urlsafe_base64).with(16) { "secure_key" }
9
9
  user.masquerade!
10
10
  end
11
11
  end
12
12
 
13
13
  describe '#remove_masquerade_key' do
14
- before { SecureRandom.stub(:urlsafe_base64).and_return("secure_key") }
14
+ before { allow(SecureRandom).to receive(:urlsafe_base64) { "secure_key" } }
15
15
 
16
16
  let(:key) { 'users:secure_key:masquerade' }
17
17
 
18
18
  it 'should be possible to remove cached masquerade key' do
19
19
  user.masquerade!
20
- expect(Rails.cache.exist?(key)).to be_true
20
+ expect(Rails.cache.exist?(key)).to eq(true)
21
21
 
22
22
  User.remove_masquerade_key!('secure_key')
23
- expect(Rails.cache.exist?(key)).to be_false
23
+ expect(Rails.cache.exist?(key)).to eq(false)
24
24
  end
25
25
  end
26
26
 
@@ -28,13 +28,12 @@ describe User do
28
28
  it 'should be possible to find user by generate masquerade key' do
29
29
  user.masquerade!
30
30
 
31
- Rails.cache.should_receive(:read).with("users:#{user.masquerade_key}:masquerade").and_return(user.id)
32
- Rails.cache.should_receive(:delete).with("users:#{user.masquerade_key}:masquerade")
31
+ allow(Rails.cache).to receive(:read).with("users:#{user.masquerade_key}:masquerade") { user.id }
32
+ allow(Rails.cache).to receive(:delete).with("users:#{user.masquerade_key}:masquerade")
33
33
 
34
34
  new_user = User.find_by_masquerade_key(user.masquerade_key)
35
35
 
36
- new_user.should == user
36
+ expect(new_user).to eq(user)
37
37
  end
38
38
  end
39
39
  end
40
-
@@ -23,6 +23,8 @@ RSpec.configure do |config|
23
23
  config.include FactoryGirl::Syntax::Methods
24
24
  config.include Authentication
25
25
 
26
+ config.raise_errors_for_deprecations!
27
+
26
28
  config.mock_with :rspec
27
29
 
28
30
  config.before(:suite) do
@@ -38,4 +40,3 @@ RSpec.configure do |config|
38
40
  DatabaseCleaner.clean
39
41
  end
40
42
  end
41
-
metadata CHANGED
@@ -1,55 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise_masquerade
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexandr Korsak
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-12 00:00:00.000000000 Z
11
+ date: 2016-08-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.1.0
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ! '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.1.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: railties
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '3.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ! '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '3.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: devise
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ! '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: 2.1.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ! '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: 2.1.0
55
55
  description: devise masquerade library
@@ -59,10 +59,11 @@ executables: []
59
59
  extensions: []
60
60
  extra_rdoc_files: []
61
61
  files:
62
- - .gitignore
63
- - .rspec
64
- - .rvmrc
65
- - .travis.yml
62
+ - ".gitignore"
63
+ - ".rspec"
64
+ - ".ruby-version"
65
+ - ".rvmrc"
66
+ - ".travis.yml"
66
67
  - Gemfile
67
68
  - Guardfile
68
69
  - LICENSE.txt
@@ -82,6 +83,7 @@ files:
82
83
  - lib/devise_masquerade/rails.rb
83
84
  - lib/devise_masquerade/routes.rb
84
85
  - lib/devise_masquerade/version.rb
86
+ - script/travis.sh
85
87
  - spec/controllers/admin/dashboard_controller_spec.rb
86
88
  - spec/controllers/dashboard_controller_spec.rb
87
89
  - spec/controllers/devise/masquerades_controller_spec.rb
@@ -135,17 +137,17 @@ require_paths:
135
137
  - lib
136
138
  required_ruby_version: !ruby/object:Gem::Requirement
137
139
  requirements:
138
- - - ! '>='
140
+ - - ">="
139
141
  - !ruby/object:Gem::Version
140
142
  version: '0'
141
143
  required_rubygems_version: !ruby/object:Gem::Requirement
142
144
  requirements:
143
- - - ! '>='
145
+ - - ">="
144
146
  - !ruby/object:Gem::Version
145
147
  version: '0'
146
148
  requirements: []
147
149
  rubyforge_project:
148
- rubygems_version: 2.1.11
150
+ rubygems_version: 2.4.5.1
149
151
  signing_key:
150
152
  specification_version: 4
151
153
  summary: use for login as functionallity on your admin users pages