devise_masquerade 0.6.0 → 0.6.1

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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7697f7796ae221a16c23706efcc051b1209a9e4d
4
- data.tar.gz: 4c813e1baeda19e25d225bd1c35b56bae5689563
3
+ metadata.gz: 9a3bf4cda2161401cefd72da8332396859eec1ca
4
+ data.tar.gz: 159a457f4a68e3c6614af51760d85cd79330df9b
5
5
  SHA512:
6
- metadata.gz: b7b250e0c7fa601ddb5620b761dcf6609c4fa8b941ec7852ca0a2bab15ee4277d909f370177f9480d92b3bcd07e04bf9bc3f8b042223c33c2220d47ea4a8751d
7
- data.tar.gz: 11b1f301ff06051b7219b5ff446dedd54cf9f05b3e2cd2e8ee4697678e6ca6d5e4c5d13e224d7551e32001b3920ae7cc54b0483f4bfee240a42942bdd88deab3
6
+ metadata.gz: cfa6702b8501684ce1dbffbf32a151bc57ef0661289e1705664dbcdd53a6b8ce41c1c6be11ae48255913607a8b11209ed0577050513a2f3b4acb38dd2a553719
7
+ data.tar.gz: 709c35dcf2a70ac8adf8022d7d5878990c9aabd0f862819ad50a6bac4d903358334b841ab157644aa62790af78a9a1c61e8c396b79b261aeedda821e7b69dbd5
@@ -28,15 +28,7 @@ class Devise::MasqueradesController < DeviseController
28
28
  self.resource.masquerade!
29
29
  request.env["devise.skip_trackable"] = "1"
30
30
 
31
- if Devise.masquerade_bypass_warden_callback
32
- if respond_to?(:bypass_sign_in)
33
- bypass_sign_in(self.resource)
34
- else
35
- sign_in(self.resource, :bypass => true)
36
- end
37
- else
38
- sign_in(self.resource)
39
- end
31
+ masquerade_sign_in(self.resource)
40
32
 
41
33
  if Devise.masquerade_routes_back && Rails::VERSION::MAJOR == 5
42
34
  redirect_back(fallback_location: "#{after_masquerade_param_for(self.resource)}?#{after_masquerade_param_for(resource)}")
@@ -60,15 +52,7 @@ class Devise::MasqueradesController < DeviseController
60
52
  sign_out(send("current_#{masqueraded_resource_name}"))
61
53
  end
62
54
 
63
- if Devise.masquerade_bypass_warden_callback
64
- if respond_to?(:bypass_sign_in)
65
- bypass_sign_in(owner_user)
66
- else
67
- sign_in(owner_user, :bypass => true)
68
- end
69
- else
70
- sign_in(owner_user)
71
- end
55
+ masquerade_sign_in(owner_user)
72
56
  request.env["devise.skip_trackable"] = nil
73
57
 
74
58
  if Devise.masquerade_routes_back && Rails::VERSION::MAJOR == 5
@@ -12,15 +12,7 @@ module DeviseMasquerade
12
12
  #{name} = ::#{class_name}.find_by_masquerade_key(params["#{Devise.masquerade_param}"])
13
13
 
14
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
15
+ masquerade_sign_in(#{name})
24
16
  end
25
17
  end
26
18
 
@@ -32,6 +24,20 @@ module DeviseMasquerade
32
24
  return nil unless send(:#{name}_masquerade?)
33
25
  ::#{class_name}.to_adapter.find_first(:id => session[:"devise_masquerade_#{name}"])
34
26
  end
27
+
28
+ private
29
+
30
+ def masquerade_sign_in(resource)
31
+ if Devise.masquerade_bypass_warden_callback
32
+ if respond_to?(:bypass_sign_in)
33
+ bypass_sign_in(resource)
34
+ else
35
+ sign_in(resource, :bypass => true)
36
+ end
37
+ else
38
+ sign_in(resource)
39
+ end
40
+ end
35
41
  METHODS
36
42
 
37
43
  ActiveSupport.on_load(:action_controller) do
@@ -13,7 +13,8 @@ module Devise
13
13
  module InstanceMethods
14
14
  def masquerade!
15
15
  @masquerade_key = SecureRandom.urlsafe_base64(Devise.masquerade_key_size)
16
- Rails.cache.write("#{self.class.name.pluralize.underscore}:#{@masquerade_key}:masquerade", id, :expires_in => Devise.masquerade_expires_in)
16
+ cache_key = self.class.cache_masquerade_key_by(@masquerade_key)
17
+ Rails.cache.write(cache_key, id, :expires_in => Devise.masquerade_expires_in)
17
18
  end
18
19
  end
19
20
 
@@ -1,3 +1,3 @@
1
1
  module DeviseMasquerade
2
- VERSION = "0.6.0"
2
+ VERSION = "0.6.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise_masquerade
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexandr Korsak
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-18 00:00:00.000000000 Z
11
+ date: 2017-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler