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

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