walruz 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 0
4
- :patch: 5
4
+ :patch: 6
data/lib/walruz/policy.rb CHANGED
@@ -9,8 +9,6 @@ module Walruz
9
9
  class Policy
10
10
  extend Walruz::Utils
11
11
 
12
- attr_reader :params
13
-
14
12
  # @private
15
13
  # :nodoc:
16
14
  def self.inherited(child)
@@ -189,7 +187,12 @@ module Walruz
189
187
  # :nodoc:
190
188
  def set_params(params)
191
189
  @params = params
192
- end
190
+ self
191
+ end
192
+
193
+ def params
194
+ @params ||= {}
195
+ end
193
196
 
194
197
  end
195
198
  end
data/lib/walruz/utils.rb CHANGED
@@ -41,7 +41,7 @@ module Walruz
41
41
  def authorized?(actor, subject)
42
42
  result = nil
43
43
  self.class.policies.detect do |policy|
44
- result = policy.new.safe_authorized?(actor, subject)
44
+ result = policy.new.set_params(params).safe_authorized?(actor, subject)
45
45
  result[0]
46
46
  end
47
47
  result[0] ? result : result[0]
@@ -59,12 +59,10 @@ module Walruz
59
59
 
60
60
  # :nodoc:
61
61
  def authorized?(actor, subject)
62
- acum = [true, {}]
62
+ acum = [true, self.params || {}]
63
63
  self.class.policies.each do |policy|
64
64
  break unless acum[0]
65
- policy_instance = policy.new
66
- policy_instance.set_params(acum[1])
67
- result = policy_instance.safe_authorized?(actor, subject)
65
+ result = policy.new.set_params(acum[1]).safe_authorized?(actor, subject)
68
66
  acum[0] &&= result[0]
69
67
  acum[1].merge!(result[1])
70
68
  end
@@ -88,6 +86,7 @@ module Walruz
88
86
 
89
87
  # :nodoc:
90
88
  def authorized?(actor, subject)
89
+ self.class.policy.set_params(params)
91
90
  result = self.class.policy.new.safe_authorized?(actor, subject)
92
91
  !result[0]
93
92
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: walruz
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roman Gonzalez
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-07-13 00:00:00 -07:00
12
+ date: 2009-07-20 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15