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 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 }
@@ -1,3 +1,3 @@
1
1
  module Rolify
2
- VERSION = "2.0.0"
2
+ VERSION = "2.1.0"
3
3
  end
@@ -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.0.0
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-10 00:00:00.000000000Z
12
+ date: 2011-11-30 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
16
- requirement: &70300130621700 !ruby/object:Gem::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: *70300130621700
24
+ version_requirements: *70282338569140
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: sqlite3
27
- requirement: &70300130621240 !ruby/object:Gem::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: *70300130621240
35
+ version_requirements: *70282338568540
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: ammeter
38
- requirement: &70300130620780 !ruby/object:Gem::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: *70300130620780
46
+ version_requirements: *70282338567940
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rake
49
- requirement: &70300130620360 !ruby/object:Gem::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: *70300130620360
57
+ version_requirements: *70282338567520
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rspec
60
- requirement: &70300130619940 !ruby/object:Gem::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: *70300130619940
68
+ version_requirements: *70282338567100
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bundler
71
- requirement: &70300130619520 !ruby/object:Gem::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: *70300130619520
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 '