rolify 2.0.0 → 2.1.0
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/CHANGELOG.rdoc +4 -0
- data/lib/rolify/role.rb +2 -0
- data/lib/rolify/version.rb +1 -1
- data/spec/rolify/role_spec.rb +10 -0
- metadata +14 -14
data/CHANGELOG.rdoc
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
= 2.1 (Nov 30, 2011)
|
|
2
|
+
* added syntactic sugar: <tt>grant</tt> and <tt>revoke</tt> are aliases for <tt>has_role</tt> and <tt>has_no_role</tt>
|
|
3
|
+
* check if RUBY_ENGINE is defined in the gemspec to be able to use jdbc with JRuby for SQLite
|
|
4
|
+
|
|
1
5
|
= 2.0 (Nov 10, 2011)
|
|
2
6
|
* improved performance of <tt>has_all_roles?</tt> method using one single DB query instead of doing one DB lookup per argument
|
|
3
7
|
* significant speed-up when requesting with many arguments
|
data/lib/rolify/role.rb
CHANGED
|
@@ -43,6 +43,7 @@ module Rolify
|
|
|
43
43
|
self.role_ids |= [role.id]
|
|
44
44
|
end
|
|
45
45
|
end
|
|
46
|
+
alias_method :grant, :has_role
|
|
46
47
|
|
|
47
48
|
def has_role?(role_name, resource = nil)
|
|
48
49
|
query, values = build_query(role_name, resource)
|
|
@@ -65,6 +66,7 @@ module Rolify
|
|
|
65
66
|
role = role.where(:resource_id => resource.id) if resource && !resource.is_a?(Class)
|
|
66
67
|
self.roles.delete(role) if role
|
|
67
68
|
end
|
|
69
|
+
alias_method :revoke, :has_no_role
|
|
68
70
|
|
|
69
71
|
def roles_name
|
|
70
72
|
self.roles.select(:name).map { |r| r.name }
|
data/lib/rolify/version.rb
CHANGED
data/spec/rolify/role_spec.rb
CHANGED
|
@@ -19,6 +19,11 @@ shared_examples_for "Rolify module" do |dynamic|
|
|
|
19
19
|
@admin.should respond_to(:has_role).with(1).arguments
|
|
20
20
|
@admin.should respond_to(:has_role).with(2).arguments
|
|
21
21
|
end
|
|
22
|
+
|
|
23
|
+
it "should respond to grant method" do
|
|
24
|
+
@admin.should respond_to(:grant).with(1).arguments
|
|
25
|
+
@admin.should respond_to(:grant).with(2).arguments
|
|
26
|
+
end
|
|
22
27
|
|
|
23
28
|
it "should respond to has_role? method" do
|
|
24
29
|
@admin.should respond_to(:has_role?).with(1).arguments
|
|
@@ -39,6 +44,11 @@ shared_examples_for "Rolify module" do |dynamic|
|
|
|
39
44
|
@admin.should respond_to(:has_no_role).with(1).arguments
|
|
40
45
|
@admin.should respond_to(:has_no_role).with(2).arguments
|
|
41
46
|
end
|
|
47
|
+
|
|
48
|
+
it "should respond to revoke method" do
|
|
49
|
+
@admin.should respond_to(:revoke).with(1).arguments
|
|
50
|
+
@admin.should respond_to(:revoke).with(2).arguments
|
|
51
|
+
end
|
|
42
52
|
|
|
43
53
|
it "should respond to dynamic methods", :if => dynamic do
|
|
44
54
|
@admin.should respond_to(:is_admin?).with(0).arguments
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rolify
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.1.0
|
|
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: 2011-11-
|
|
12
|
+
date: 2011-11-30 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: activerecord
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &70282338569140 !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ! '>='
|
|
@@ -21,10 +21,10 @@ dependencies:
|
|
|
21
21
|
version: 3.1.0
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements: *
|
|
24
|
+
version_requirements: *70282338569140
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: sqlite3
|
|
27
|
-
requirement: &
|
|
27
|
+
requirement: &70282338568540 !ruby/object:Gem::Requirement
|
|
28
28
|
none: false
|
|
29
29
|
requirements:
|
|
30
30
|
- - ! '>='
|
|
@@ -32,10 +32,10 @@ dependencies:
|
|
|
32
32
|
version: '0'
|
|
33
33
|
type: :development
|
|
34
34
|
prerelease: false
|
|
35
|
-
version_requirements: *
|
|
35
|
+
version_requirements: *70282338568540
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: ammeter
|
|
38
|
-
requirement: &
|
|
38
|
+
requirement: &70282338567940 !ruby/object:Gem::Requirement
|
|
39
39
|
none: false
|
|
40
40
|
requirements:
|
|
41
41
|
- - ! '>='
|
|
@@ -43,10 +43,10 @@ dependencies:
|
|
|
43
43
|
version: '0'
|
|
44
44
|
type: :development
|
|
45
45
|
prerelease: false
|
|
46
|
-
version_requirements: *
|
|
46
|
+
version_requirements: *70282338567940
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: rake
|
|
49
|
-
requirement: &
|
|
49
|
+
requirement: &70282338567520 !ruby/object:Gem::Requirement
|
|
50
50
|
none: false
|
|
51
51
|
requirements:
|
|
52
52
|
- - ! '>='
|
|
@@ -54,10 +54,10 @@ dependencies:
|
|
|
54
54
|
version: '0'
|
|
55
55
|
type: :development
|
|
56
56
|
prerelease: false
|
|
57
|
-
version_requirements: *
|
|
57
|
+
version_requirements: *70282338567520
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: rspec
|
|
60
|
-
requirement: &
|
|
60
|
+
requirement: &70282338567100 !ruby/object:Gem::Requirement
|
|
61
61
|
none: false
|
|
62
62
|
requirements:
|
|
63
63
|
- - ! '>='
|
|
@@ -65,10 +65,10 @@ dependencies:
|
|
|
65
65
|
version: '0'
|
|
66
66
|
type: :development
|
|
67
67
|
prerelease: false
|
|
68
|
-
version_requirements: *
|
|
68
|
+
version_requirements: *70282338567100
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: bundler
|
|
71
|
-
requirement: &
|
|
71
|
+
requirement: &70282338566660 !ruby/object:Gem::Requirement
|
|
72
72
|
none: false
|
|
73
73
|
requirements:
|
|
74
74
|
- - ! '>='
|
|
@@ -76,7 +76,7 @@ dependencies:
|
|
|
76
76
|
version: '0'
|
|
77
77
|
type: :development
|
|
78
78
|
prerelease: false
|
|
79
|
-
version_requirements: *
|
|
79
|
+
version_requirements: *70282338566660
|
|
80
80
|
description: ! 'Very simple Roles library without any authorization enforcement (built
|
|
81
81
|
to use with cancan) supporting scope on resource: user.is_moderator?(Forum.first)
|
|
82
82
|
=> # return false if user is moderator of another Forum '
|