tuersteher 0.3.3 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
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