allowy 0.2.5 → 0.2.6
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/README.md +6 -1
- data/lib/allowy/context.rb +2 -2
- data/lib/allowy/version.rb +1 -1
- data/spec/context_spec.rb +6 -0
- metadata +45 -15
data/README.md
CHANGED
@@ -188,7 +188,7 @@ It will give you:
|
|
188
188
|
|
189
189
|
- `be_able_to` RSpec matcher;
|
190
190
|
- `ignore_authorization!` macro for controller specs;
|
191
|
-
- `should_authorize_for
|
191
|
+
- `should_authorize_for` method for controller specs (can **only** be used with `ignore_authorization!`).
|
192
192
|
|
193
193
|
|
194
194
|
```ruby
|
@@ -245,6 +245,11 @@ describe PagesController do
|
|
245
245
|
should_authorize_for(:create, page)
|
246
246
|
post(:create)
|
247
247
|
end
|
248
|
+
|
249
|
+
it "checks the authorisation with plain RSpec if you don't like the macro" do
|
250
|
+
allowy.should_receive(:authorize!).with(:create, page)
|
251
|
+
post(:create)
|
252
|
+
end
|
248
253
|
end
|
249
254
|
|
250
255
|
```
|
data/lib/allowy/context.rb
CHANGED
@@ -14,7 +14,7 @@ module Allowy
|
|
14
14
|
# @current_user = user
|
15
15
|
# end
|
16
16
|
#
|
17
|
-
# And
|
17
|
+
# And then you can easily check the permissions like so:
|
18
18
|
#
|
19
19
|
# @example
|
20
20
|
# CustomContext.new(that_user).should be_able_to :create, Blog
|
@@ -34,7 +34,7 @@ module Allowy
|
|
34
34
|
current_allowy.access_control_for!(subject).can?(action, subject, *args)
|
35
35
|
end
|
36
36
|
|
37
|
-
def cannot?(*args)
|
37
|
+
def cannot?(action, subject, *args)
|
38
38
|
current_allowy.access_control_for!(subject).cannot?(action, subject, *args)
|
39
39
|
end
|
40
40
|
|
data/lib/allowy/version.rb
CHANGED
data/spec/context_spec.rb
CHANGED
@@ -21,6 +21,12 @@ module Allowy
|
|
21
21
|
subject.can?(:edit, 123)
|
22
22
|
end
|
23
23
|
|
24
|
+
it "should be able to check using cannot?" do
|
25
|
+
subject.current_allowy.should_receive(:access_control_for!).with(123).and_return access
|
26
|
+
access.should_receive(:cannot?).with(:edit, 123)
|
27
|
+
subject.cannot?(:edit, 123)
|
28
|
+
end
|
29
|
+
|
24
30
|
it "should call authorize!" do
|
25
31
|
access.should_receive(:authorize!).with :edit, 123
|
26
32
|
subject.current_allowy.stub(:access_control_for! => access)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: allowy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-06-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: i18n
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: activesupport
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ~>
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '3.2'
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '3.2'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: rspec
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: '0'
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: pry
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: '0'
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: guard
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ! '>='
|
@@ -65,10 +85,15 @@ dependencies:
|
|
65
85
|
version: '0'
|
66
86
|
type: :development
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: guard-rspec
|
71
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
72
97
|
none: false
|
73
98
|
requirements:
|
74
99
|
- - ! '>='
|
@@ -76,7 +101,12 @@ dependencies:
|
|
76
101
|
version: '0'
|
77
102
|
type: :development
|
78
103
|
prerelease: false
|
79
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
80
110
|
description: Allowy provides CanCan-like way of checking permission but doesn't enforce
|
81
111
|
a tight DSL giving you more control
|
82
112
|
email:
|
@@ -125,7 +155,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
125
155
|
version: '0'
|
126
156
|
requirements: []
|
127
157
|
rubyforge_project: allowy
|
128
|
-
rubygems_version: 1.8.
|
158
|
+
rubygems_version: 1.8.24
|
129
159
|
signing_key:
|
130
160
|
specification_version: 3
|
131
161
|
summary: Authorization with simplicity and explicitness in mind
|