guachiman 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0349ed86b960d1beed7f5504f4314bfe0c769ee5
4
- data.tar.gz: 7567d0bf34e585ddcf44680fde8b237749832bf7
3
+ metadata.gz: 3c3fd7bfea612bd26cbdc3a6ac0710f35a97c1dc
4
+ data.tar.gz: 0499c8bfd189bbb007c132a961f37fbc9493331d
5
5
  SHA512:
6
- metadata.gz: 9d8d0dea24c0cba54bc58e44115e209f68699b240c724ebacb3980af8de9dba0e47651bd24933094e88de42c69c70c415a47f179d1f4b269683e8c7cdbbe08d9
7
- data.tar.gz: c364758e4b3a5afd20ea2c2690f4fa34e6ac6b3e5a239a2c6c7037541636faf66d49c7a300fe8570d07b0f7e15f5c848d26ab289d041b5e7ff6d82d652e4f032
6
+ metadata.gz: 1f0fda21aba6b829b767b9cb1b605b33098618f06fe0c2c83e4e892c4dbf9591f5ac0ee11520af9cd3517232ec8fa4d49a200bc76e1cb9320db04589d43d1e57
7
+ data.tar.gz: 2d5da98abe73c1cca22a86a78e02b8bb6b08a1fcad32207fea7e1febfb6a6768bb8044b0c0441e7af656c0120248cc147fd0aa2192b2b5650c350ef62f691f4d
@@ -3,10 +3,25 @@ class Permission
3
3
  # include Guachiman::Params
4
4
 
5
5
  def initialize user
6
- if user
7
- if user.admin?
8
- allow_all!
9
- end
6
+ if user.nil?
7
+ guest
8
+ elsif user.admin?
9
+ admin
10
+ else
11
+ member
10
12
  end
11
13
  end
14
+
15
+ private
16
+
17
+ def guest
18
+ end
19
+
20
+ def member
21
+ guest
22
+ end
23
+
24
+ def admin
25
+ allow_all!
26
+ end
12
27
  end
@@ -18,14 +18,21 @@ module Guachiman
18
18
  raise 'This method must be implemented'
19
19
  end
20
20
 
21
- def not_authorized
22
- raise 'This method must be implemented'
23
- end
24
-
25
21
  def authorize
26
- if !current_permission.allow?(params[:controller], params[:action], current_resource)
22
+ if current_permission.allow? params[:controller], params[:action], current_resource
23
+ current_permission.permit_params! if current_permission.respond_to? :permit_params!
24
+ else
27
25
  not_authorized
28
26
  end
29
27
  end
28
+
29
+ def not_authorized
30
+ if current_user
31
+ redirect_to :root, alert: t(:not_authorized)
32
+ else
33
+ redirect_to :login, alert: t(:please_login)
34
+ end
35
+ end
36
+ end
30
37
  end
31
38
  end
@@ -1,3 +1,3 @@
1
1
  module Guachiman
2
- VERSION = '0.0.3'
2
+ VERSION = '0.0.4'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: guachiman
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Francesco Rodriguez
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-02 00:00:00.000000000 Z
12
+ date: 2013-04-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: railties