devise_masquerade 1.3.0 → 1.3.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9b0f25fa4c2e5b41336a6b39bb4eab9dc8cc9a90544de0dffec1cd95d2b8b7f6
4
- data.tar.gz: 96073dd0fb8c13658d7f9b6e156aeb9a9fd90d0aa3e5360fe8416e698b00ceb6
3
+ metadata.gz: 7e8cd4d05e6a1c75e17d26588532e261c01e95689d87d491757132d3242faed7
4
+ data.tar.gz: a9e581005ebf3f238f39aa83d276cef37716bbc1669462f2a4e80f745e29c70a
5
5
  SHA512:
6
- metadata.gz: 243f3b4580c80bbf3c281df44bb7fba95d18ac67e0a547e925eb50d784bf05d7364c64ad439c45486473d38481f22b45aa44a9d152eddd67759e6792cf956bb4
7
- data.tar.gz: 3f48a1f7d0a79f2b220380e6aa357ae3a9d937d817b00040b106b7e539d2ed651c61aec2da24626d8a58c9626a30ee958cb752dc779ed3195e09cf1b91177cdd
6
+ metadata.gz: 27aee8dd6cfd3f270a466bc30c4a4b545c7b4e944c3794567ed6c220b86598ff2e5361cb00a7cb7a49d20fccc6532cbd97cd0e301459c5b980bbe2e6052847d8
7
+ data.tar.gz: 4df45047b964dd10855dbf563f907bedd5e497130cfab4e5b7d65168d5ca91d47265ea562aea1345563fe15b17f7e944b867dfae3420f4e9cbd030287952bc8f
data/.travis.yml CHANGED
@@ -2,6 +2,7 @@ language: ruby
2
2
  rvm:
3
3
  - 2.5.1
4
4
  - 2.6.0
5
+ - 2.7.2
5
6
  gemfile:
6
7
  - Gemfile
7
8
  script: time ./script/travis.sh
data/Gemfile.lock CHANGED
@@ -52,7 +52,7 @@ GIT
52
52
  PATH
53
53
  remote: .
54
54
  specs:
55
- devise_masquerade (1.3.0)
55
+ devise_masquerade (1.3.1)
56
56
  devise (>= 4.7.0)
57
57
  globalid (>= 0.3.6)
58
58
  railties (>= 5.2.0)
@@ -201,13 +201,14 @@ GEM
201
201
  mime-types-data (~> 3.2015)
202
202
  mime-types-data (3.2019.1009)
203
203
  mini_mime (1.0.2)
204
- mini_portile2 (2.4.0)
204
+ mini_portile2 (2.5.0)
205
205
  minitest (5.12.2)
206
206
  multi_json (1.14.1)
207
207
  multi_test (0.1.2)
208
208
  nenv (0.3.0)
209
- nokogiri (1.10.8)
210
- mini_portile2 (~> 2.4.0)
209
+ nokogiri (1.11.1)
210
+ mini_portile2 (~> 2.5.0)
211
+ racc (~> 1.4)
211
212
  notiffany (0.1.3)
212
213
  nenv (~> 0.1)
213
214
  shellany (~> 0.0)
@@ -220,6 +221,7 @@ GEM
220
221
  byebug (~> 11.0)
221
222
  pry (~> 0.10)
222
223
  public_suffix (4.0.1)
224
+ racc (1.5.2)
223
225
  rack (2.2.3)
224
226
  rack-test (1.1.0)
225
227
  rack (>= 1.0, < 3)
@@ -0,0 +1,11 @@
1
+ Then("I should see maquerade url") do
2
+ page.html.should include('href="/users/masquerade?masquerade=')
3
+ end
4
+
5
+ When("I am on the users page with extra params") do
6
+ visit '/extra_params'
7
+ end
8
+
9
+ Then("I should see maquerade url with extra params") do
10
+ page.html.should include('href="/users/masquerade?key1=value1&amp;masquerade=')
11
+ end
@@ -0,0 +1,14 @@
1
+ Feature: Use masquerade path to generate routes on page
2
+ In order to have the way to render masquerade path
3
+ As an user
4
+ I want to be able to see the url and use it
5
+
6
+ Scenario: Use masquerade path helper
7
+ Given I logged in
8
+ And I have a user for masquerade
9
+
10
+ When I am on the users page
11
+ Then I should see maquerade url
12
+
13
+ When I am on the users page with extra params
14
+ Then I should see maquerade url with extra params
@@ -7,12 +7,12 @@ module DeviseMasquerade
7
7
  def masquerade_path(resource, *args)
8
8
  scope = Devise::Mapping.find_scope!(resource)
9
9
 
10
- opts = args.first || {}
10
+ opts = args.shift || {}
11
11
  opts.merge!(masqueraded_resource_class: resource.class.name)
12
12
 
13
13
  opts.merge!(Devise.masquerade_param => resource.masquerade_key)
14
14
 
15
- send("#{scope}_masquerade_path", resource, opts, *args)
15
+ send("#{scope}_masquerade_index_path", opts, *args)
16
16
  end
17
17
 
18
18
  def back_masquerade_path(resource, *args)
@@ -3,11 +3,12 @@ module DeviseMasquerade
3
3
 
4
4
  def devise_masquerade(mapping, controllers)
5
5
  resources :masquerade,
6
- only: :show,
7
6
  path: mapping.path_names[:masquerade],
8
- controller: controllers[:masquerades] do
7
+ controller: controllers[:masquerades],
8
+ only: [] do
9
9
 
10
10
  collection do
11
+ get :show
11
12
  get :back
12
13
  end
13
14
  end
@@ -1,3 +1,3 @@
1
1
  module DeviseMasquerade
2
- VERSION = '1.3.0'.freeze
2
+ VERSION = '1.3.1'.freeze
3
3
  end
@@ -4,5 +4,9 @@ class DashboardController < ApplicationController
4
4
  def index
5
5
  @users = User.where("users.id != ?", current_user.id).all
6
6
  end
7
+
8
+ def extra_params
9
+ @users = User.where("users.id != ?", current_user.id).all
10
+ end
7
11
  end
8
12
 
@@ -0,0 +1,7 @@
1
+ <% @users.each do |user| %>
2
+ <p>
3
+ <%= user.email %>
4
+
5
+ <%= link_to "Login as", masquerade_path(user, key1: 'value1'), class: 'login_as' %>
6
+ </p>
7
+ <% end %>
@@ -1,10 +1,12 @@
1
1
  Dummy::Application.routes.draw do
2
- devise_for :users, controllers: { masquerades: "users/masquerades" }
2
+ devise_for :users, controllers: { masquerades: 'users/masquerades' }
3
3
  devise_for :admin_users, class_name: Admin::User.name
4
4
  devise_for :students, class_name: Student.name
5
5
 
6
6
  root to: 'dashboard#index'
7
7
 
8
+ get '/extra_params', to: 'dashboard#extra_params'
9
+
8
10
  resources :masquerades_tests
9
11
  resources :students, only: :index
10
12
 
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: 1.3.0
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexandr Korsak
@@ -95,7 +95,9 @@ files:
95
95
  - features/multiple_masquerading_models.feature
96
96
  - features/step_definitions/auth_steps.rb
97
97
  - features/step_definitions/back_steps.rb
98
+ - features/step_definitions/url_helpers_steps.rb
98
99
  - features/support/env.rb
100
+ - features/url_helpers.feature
99
101
  - lib/devise_masquerade.rb
100
102
  - lib/devise_masquerade/controllers/helpers.rb
101
103
  - lib/devise_masquerade/controllers/url_helpers.rb
@@ -122,6 +124,7 @@ files:
122
124
  - spec/dummy/app/models/student.rb
123
125
  - spec/dummy/app/models/user.rb
124
126
  - spec/dummy/app/views/admin/dashboard/index.html.erb
127
+ - spec/dummy/app/views/dashboard/extra_params.html.erb
125
128
  - spec/dummy/app/views/dashboard/index.html.erb
126
129
  - spec/dummy/app/views/layouts/application.html.erb
127
130
  - spec/dummy/app/views/students/_student.html.erb
@@ -185,7 +188,9 @@ test_files:
185
188
  - features/multiple_masquerading_models.feature
186
189
  - features/step_definitions/auth_steps.rb
187
190
  - features/step_definitions/back_steps.rb
191
+ - features/step_definitions/url_helpers_steps.rb
188
192
  - features/support/env.rb
193
+ - features/url_helpers.feature
189
194
  - spec/controllers/admin/dashboard_controller_spec.rb
190
195
  - spec/controllers/dashboard_controller_spec.rb
191
196
  - spec/controllers/devise/masquerades_controller_spec.rb
@@ -203,6 +208,7 @@ test_files:
203
208
  - spec/dummy/app/models/student.rb
204
209
  - spec/dummy/app/models/user.rb
205
210
  - spec/dummy/app/views/admin/dashboard/index.html.erb
211
+ - spec/dummy/app/views/dashboard/extra_params.html.erb
206
212
  - spec/dummy/app/views/dashboard/index.html.erb
207
213
  - spec/dummy/app/views/layouts/application.html.erb
208
214
  - spec/dummy/app/views/students/_student.html.erb