authorize 1.0.0 → 1.0.1

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.
@@ -104,6 +104,12 @@ class Authorize::Role < ActiveRecord::Base
104
104
  self.class.find(ids).to_set
105
105
  end
106
106
 
107
+ def inbound
108
+ ids = []
109
+ self.vertex.inbound_edges.to_a.each{|e| ids << e.from.id.slice(/#{VERTICES_ID_PREFIX}::(\d+)/, 1)}
110
+ self.class.find(ids).to_set
111
+ end
112
+
107
113
  private
108
114
  def traverser
109
115
  @traverser ||= Authorize::Graph::DirectedAcyclicGraphTraverser.traverse(vertex)
@@ -1,3 +1,3 @@
1
1
  module Authorize
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
@@ -117,6 +117,10 @@ class RoleTest < ActiveSupport::TestCase
117
117
  assert_equal Set[roles(:user_pascale)], roles(:administrator).ancestors
118
118
  end
119
119
 
120
+ test 'parent roles' do
121
+ assert_equal Set[roles(:user_chris), roles(:user_pascale)], roles(:registered_users).inbound
122
+ end
123
+
120
124
  test 'link' do
121
125
  assert !roles(:user_chris).descendants.include?(roles(:administrator))
122
126
  assert_kind_of Authorize::Graph::Edge, edge = roles(:user_chris).link(roles(:administrator))
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: authorize
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 21
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
- - 0
10
- version: 1.0.0
9
+ - 1
10
+ version: 1.0.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Chris Hapgood
@@ -15,12 +15,11 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-06-25 00:00:00 Z
18
+ date: 2012-10-01 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- name: mocha
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
21
+ type: :development
22
+ version_requirements: &id001 !ruby/object:Gem::Requirement
24
23
  none: false
25
24
  requirements:
26
25
  - - ~>
@@ -30,12 +29,12 @@ dependencies:
30
29
  - 0
31
30
  - 9
32
31
  version: "0.9"
33
- type: :development
34
- version_requirements: *id001
35
- - !ruby/object:Gem::Dependency
36
- name: sqlite3
37
32
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
33
+ requirement: *id001
34
+ name: mocha
35
+ - !ruby/object:Gem::Dependency
36
+ type: :development
37
+ version_requirements: &id002 !ruby/object:Gem::Requirement
39
38
  none: false
40
39
  requirements:
41
40
  - - ~>
@@ -45,12 +44,12 @@ dependencies:
45
44
  - 1
46
45
  - 3
47
46
  version: "1.3"
48
- type: :development
49
- version_requirements: *id002
50
- - !ruby/object:Gem::Dependency
51
- name: rails
52
47
  prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
48
+ requirement: *id002
49
+ name: sqlite3
50
+ - !ruby/object:Gem::Dependency
51
+ type: :development
52
+ version_requirements: &id003 !ruby/object:Gem::Requirement
54
53
  none: false
55
54
  requirements:
56
55
  - - ~>
@@ -61,12 +60,12 @@ dependencies:
61
60
  - 3
62
61
  - 5
63
62
  version: 2.3.5
64
- type: :development
65
- version_requirements: *id003
66
- - !ruby/object:Gem::Dependency
67
- name: rake
68
63
  prerelease: false
69
- requirement: &id004 !ruby/object:Gem::Requirement
64
+ requirement: *id003
65
+ name: rails
66
+ - !ruby/object:Gem::Dependency
67
+ type: :development
68
+ version_requirements: &id004 !ruby/object:Gem::Requirement
70
69
  none: false
71
70
  requirements:
72
71
  - - ~>
@@ -77,12 +76,12 @@ dependencies:
77
76
  - 8
78
77
  - 7
79
78
  version: 0.8.7
80
- type: :development
81
- version_requirements: *id004
82
- - !ruby/object:Gem::Dependency
83
- name: rdoc
84
79
  prerelease: false
85
- requirement: &id005 !ruby/object:Gem::Requirement
80
+ requirement: *id004
81
+ name: rake
82
+ - !ruby/object:Gem::Dependency
83
+ type: :development
84
+ version_requirements: &id005 !ruby/object:Gem::Requirement
86
85
  none: false
87
86
  requirements:
88
87
  - - ">="
@@ -91,12 +90,12 @@ dependencies:
91
90
  segments:
92
91
  - 0
93
92
  version: "0"
94
- type: :development
95
- version_requirements: *id005
96
- - !ruby/object:Gem::Dependency
97
- name: redis
98
93
  prerelease: false
99
- requirement: &id006 !ruby/object:Gem::Requirement
94
+ requirement: *id005
95
+ name: rdoc
96
+ - !ruby/object:Gem::Dependency
97
+ type: :runtime
98
+ version_requirements: &id006 !ruby/object:Gem::Requirement
100
99
  none: false
101
100
  requirements:
102
101
  - - ~>
@@ -106,12 +105,12 @@ dependencies:
106
105
  - 2
107
106
  - 1
108
107
  version: "2.1"
109
- type: :runtime
110
- version_requirements: *id006
111
- - !ruby/object:Gem::Dependency
112
- name: activerecord
113
108
  prerelease: false
114
- requirement: &id007 !ruby/object:Gem::Requirement
109
+ requirement: *id006
110
+ name: redis
111
+ - !ruby/object:Gem::Dependency
112
+ type: :runtime
113
+ version_requirements: &id007 !ruby/object:Gem::Requirement
115
114
  none: false
116
115
  requirements:
117
116
  - - ~>
@@ -122,12 +121,12 @@ dependencies:
122
121
  - 3
123
122
  - 5
124
123
  version: 2.3.5
125
- type: :runtime
126
- version_requirements: *id007
127
- - !ruby/object:Gem::Dependency
128
- name: actionpack
129
124
  prerelease: false
130
- requirement: &id008 !ruby/object:Gem::Requirement
125
+ requirement: *id007
126
+ name: activerecord
127
+ - !ruby/object:Gem::Dependency
128
+ type: :runtime
129
+ version_requirements: &id008 !ruby/object:Gem::Requirement
131
130
  none: false
132
131
  requirements:
133
132
  - - ~>
@@ -138,8 +137,9 @@ dependencies:
138
137
  - 3
139
138
  - 5
140
139
  version: 2.3.5
141
- type: :runtime
142
- version_requirements: *id008
140
+ prerelease: false
141
+ requirement: *id008
142
+ name: actionpack
143
143
  description: Authorize implements a full-blown Role-based Access Control (RBAC) system for Ruby on Rails
144
144
  email:
145
145
  - cch1@hapgoods.com