guachiman 0.0.3 → 0.0.4

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
  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