permissive 0.2.8.alpha → 0.2.9.alpha
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/permissive/permission.rb +6 -1
- data/spec/scoping_permissions_spec.rb +7 -2
- metadata +2 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.9.alpha
|
@@ -9,7 +9,12 @@ module Permissive
|
|
9
9
|
named_scope :on, lambda {|scoped_object|
|
10
10
|
case scoped_object
|
11
11
|
when ActiveRecord::Base
|
12
|
-
{
|
12
|
+
{
|
13
|
+
:conditions => [
|
14
|
+
"#{table_name}.scoped_object_type = :object_type AND (#{table_name}.scoped_object_id = :object_id OR #{table_name}.scoped_object_id IS NULL)",
|
15
|
+
{:object_id => scoped_object.id, :object_type => scoped_object.class.name}
|
16
|
+
]
|
17
|
+
}
|
13
18
|
when Class
|
14
19
|
{:conditions => {:scoped_object_id => nil, :scoped_object_type => scoped_object.name}}
|
15
20
|
when String, Symbol
|
@@ -72,10 +72,15 @@ describe Permissive, "scoped permissions" do
|
|
72
72
|
end
|
73
73
|
|
74
74
|
describe "on classes" do
|
75
|
-
it "should
|
75
|
+
it "should trump instance-specific permissions" do
|
76
76
|
@user.can!(:punch, :on => Permissive::User)
|
77
77
|
@user.can?(:punch, :on => Permissive::User).should be_true
|
78
|
-
@user.can?(:punch, :on => Permissive::User.create).should
|
78
|
+
@user.can?(:punch, :on => Permissive::User.create).should be_true
|
79
|
+
end
|
80
|
+
|
81
|
+
it "should not be trumped by instances" do
|
82
|
+
@user.can!(:punch, :on => Permissive::User.create)
|
83
|
+
@user.can?(:punch, :on => Permissive::User).should be_false
|
79
84
|
end
|
80
85
|
|
81
86
|
it "should interpolate symbols" do
|
metadata
CHANGED
@@ -5,9 +5,9 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 2
|
8
|
-
-
|
8
|
+
- 9
|
9
9
|
- alpha
|
10
|
-
version: 0.2.
|
10
|
+
version: 0.2.9.alpha
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Flip Sasser
|
@@ -32,7 +32,6 @@ extensions: []
|
|
32
32
|
extra_rdoc_files:
|
33
33
|
- README.markdown
|
34
34
|
files:
|
35
|
-
- .gemspec
|
36
35
|
- .gitignore
|
37
36
|
- CHANGELOG
|
38
37
|
- MIT-LICENSE
|