tuersteher 0.3.3 → 0.3.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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.3
1
+ 0.3.4
@@ -148,7 +148,7 @@ module Tuersteher
148
148
  else
149
149
  s = "granted with #{rule}"
150
150
  end
151
- usr_id = user.respond_to?(:id) ? user.id : user.object_id
151
+ usr_id = user && user.respond_to?(:id) ? user.id : user.object_id
152
152
  Tuersteher::TLogger.logger.debug("Tuersteher: path_access?(user.id=#{usr_id}, path=#{path}, method=#{method}) => #{s}")
153
153
  end
154
154
  !(rule.nil? || rule.deny?)
@@ -171,7 +171,7 @@ module Tuersteher
171
171
  end
172
172
  access = rule && !rule.deny?
173
173
  if Tuersteher::TLogger.logger.debug?
174
- usr_id = user.respond_to?(:id) ? user.id : user.object_id
174
+ usr_id = user && user.respond_to?(:id) ? user.id : user.object_id
175
175
  if model.instance_of?(Class)
176
176
  Tuersteher::TLogger.logger.debug(
177
177
  "Tuersteher: model_access?(user.id=#{usr_id}, model=#{model}, permission=#{permission}) => #{access || 'denied'} #{rule}")
@@ -267,7 +267,7 @@ module Tuersteher
267
267
  req_method = request.method.downcase.to_sym
268
268
  url_path = request.send(@@url_path_method)
269
269
  unless path_access?(url_path, req_method)
270
- usr_id = current_user.respond_to?(:id) ? current_user.id : current_user.object_id
270
+ usr_id = current_user && current_user.respond_to?(:id) ? current_user.id : current_user.object_id
271
271
  msg = "Tuersteher#check_access: access denied for #{request.request_uri} :#{req_method} user.id=#{usr_id}"
272
272
  Tuersteher::TLogger.logger.warn msg
273
273
  logger.warn msg # log message also for Rails-Default logger
@@ -70,6 +70,18 @@ module Tuersteher
70
70
  AccessRules.path_access?(@user, '/admin', :post).should_not be_true
71
71
  end
72
72
  end
73
+
74
+
75
+ context "without user" do
76
+ it "should be true for this paths" do
77
+ AccessRules.path_access?(nil, '/', :get).should be_true
78
+ end
79
+
80
+ it "should not be true for this paths" do
81
+ AccessRules.path_access?(nil, '/xyz', :get).should_not be_true
82
+ AccessRules.path_access?(nil, '/admin', :post).should_not be_true
83
+ end
84
+ end
73
85
  end
74
86
 
75
87
 
@@ -129,7 +141,18 @@ module Tuersteher
129
141
  AccessRules.model_access?(@user, @model2, :create).should_not be_true
130
142
  end
131
143
  end
132
- end
144
+
145
+ context "without user" do
146
+ it "should be true for this paths" do
147
+ AccessRules.model_access?(nil, @model1, :xyz).should be_true
148
+ AccessRules.model_access?(nil, @model2, :read).should be_true
149
+ end
150
+
151
+ it "should not be true for this paths" do
152
+ AccessRules.model_access?(nil, @model2, :update).should_not be_true
153
+ end
154
+ end
155
+ end # of context 'model_access?'
133
156
 
134
157
 
135
158
 
@@ -4,6 +4,22 @@ module Tuersteher
4
4
 
5
5
  describe ModelAccessRule do
6
6
 
7
+ context "grant without user" do
8
+ before do
9
+ @rule = ModelAccessRule.new(String).grant.permission(:all)
10
+ end
11
+
12
+ it "should fired without user" do
13
+ @rule.fired?("test", :read, nil).should be_true
14
+ end
15
+
16
+ it "should fired with user" do
17
+ @user = stub('user')
18
+ @rule.fired?("test", :read, @user).should be_true
19
+ end
20
+ end
21
+
22
+
7
23
  context "grant with roles" do
8
24
 
9
25
  before(:all) do
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{tuersteher}
8
- s.version = "0.3.3"
8
+ s.version = "0.3.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Bernd Ledig"]
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tuersteher
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 27
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
- - 3
10
- version: 0.3.3
9
+ - 4
10
+ version: 0.3.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Bernd Ledig