devise_masquerade 0.0.2 → 0.0.3

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.

data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Devise Masquerade
2
2
 
3
+ [![Build Status](https://secure.travis-ci.org/oivoodoo/devise_masquerade.png?branch=master)](https://travis-ci.org/oivoodoo/devise_masquerade)
4
+
3
5
  It's a utility library for enabling functionallity like login as button for
4
6
  admin.
5
7
 
@@ -23,6 +25,44 @@ In the view you can use url helper for defining link:
23
25
 
24
26
  = link_to "Login As", masquerade_path(user)
25
27
 
28
+ Add into your application_controller.rb:
29
+
30
+ before_filter :masquerade_user!
31
+
32
+ Instead of user you can use your resource name admin, student or another names.
33
+
34
+ ## Custom controller for adding cancan for authorization
35
+
36
+ class Admin::MasqueradesController < Devise::MasqueradesController
37
+ def show
38
+ authorize!(:masquerade, User)
39
+
40
+ super
41
+ end
42
+ end
43
+
44
+ ## Custom url redirect after masquerade:
45
+
46
+ class Admin::MasqueradesController < Devise::MasqueradesController
47
+ def show
48
+ authorize!(:masquerade, User)
49
+
50
+ super
51
+ end
52
+
53
+ protected
54
+
55
+ def after_masquerade_path_for(resource)
56
+ "/custom_url"
57
+ end
58
+ end
59
+
60
+ ## You can redefine few options:
61
+
62
+ Devise.masquerade_param = 'masquerade'
63
+ Devise.masquerade_expires_in = 10.seconds
64
+ Devise.masquerade_key_size = 16 # size of the generate by SecureRandom.base64
65
+
26
66
  ## Contributing
27
67
 
28
68
  1. Fork it
@@ -8,7 +8,7 @@ class Devise::MasqueradesController < DeviseController
8
8
 
9
9
  self.resource.masquerade!
10
10
 
11
- redirect_to(after_masquerade_path_for(self.resource))
11
+ redirect_to("#{after_masquerade_path_for(self.resource)}?#{after_masquerade_param_for(resource)}")
12
12
  end
13
13
 
14
14
  private
@@ -18,7 +18,11 @@ class Devise::MasqueradesController < DeviseController
18
18
  end
19
19
 
20
20
  def after_masquerade_path_for(resource)
21
- "/?masquerade=#{resource.masquerade_key}"
21
+ "/"
22
+ end
23
+
24
+ def after_masquerade_param_for(resource)
25
+ "#{Devise.masquerade_param}=#{resource.masquerade_key}"
22
26
  end
23
27
  end
24
28
 
@@ -7,9 +7,9 @@ module Devise
7
7
  attr_reader :masquerade_key
8
8
 
9
9
  def masquerade!
10
- @masquerade_key = SecureRandom.base64(16)
10
+ @masquerade_key = SecureRandom.base64(Devise.masquerade_key_size)
11
11
 
12
- Rails.cache.write("#{self.class.name.pluralize.downcase}:#{@masquerade_key}:masquerade", id, :expires_in => 10.seconds)
12
+ Rails.cache.write("#{self.class.name.pluralize.downcase}:#{@masquerade_key}:masquerade", id, :expires_in => Devise.masquerade_expires_in)
13
13
  end
14
14
 
15
15
  def self.find_by_masquerade_key(key)
@@ -1,3 +1,3 @@
1
1
  module DeviseMasquerade
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -12,6 +12,15 @@ module DeviseMasquerade
12
12
  end
13
13
 
14
14
  module Devise
15
+ mattr_accessor :masquerade_param
16
+ @@masquerade_param = 'masquerade'
17
+
18
+ mattr_accessor :masquerade_expires_in
19
+ @@masquerade_expires_in = 10.seconds
20
+
21
+ mattr_accessor :masquerade_key_size
22
+ @@masquerade_key_size = 16
23
+
15
24
  @@helpers << DeviseMasquerade::Controllers::Helpers
16
25
  end
17
26
 
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.2
4
+ version: 0.0.3
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: 2012-11-19 00:00:00.000000000 Z
12
+ date: 2012-11-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler