role_up 0.1.2 → 0.1.3
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/Gemfile.lock +63 -4
- data/README.md +20 -6
- data/lib/role_up.rb +1 -0
- data/lib/role_up/railtie.rb +16 -0
- data/lib/role_up/version.rb +1 -1
- data/role_up.gemspec +1 -2
- metadata +13 -61
data/Gemfile.lock
CHANGED
|
@@ -1,18 +1,77 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
role_up (0.1.
|
|
5
|
-
activesupport (~> 3.0.0)
|
|
4
|
+
role_up (0.1.3)
|
|
6
5
|
cancan (~> 1.6.5)
|
|
7
|
-
|
|
6
|
+
rails (~> 3.0.0)
|
|
8
7
|
|
|
9
8
|
GEM
|
|
10
9
|
remote: http://rubygems.org/
|
|
11
10
|
specs:
|
|
11
|
+
abstract (1.0.0)
|
|
12
|
+
actionmailer (3.0.7)
|
|
13
|
+
actionpack (= 3.0.7)
|
|
14
|
+
mail (~> 2.2.15)
|
|
15
|
+
actionpack (3.0.7)
|
|
16
|
+
activemodel (= 3.0.7)
|
|
17
|
+
activesupport (= 3.0.7)
|
|
18
|
+
builder (~> 2.1.2)
|
|
19
|
+
erubis (~> 2.6.6)
|
|
20
|
+
i18n (~> 0.5.0)
|
|
21
|
+
rack (~> 1.2.1)
|
|
22
|
+
rack-mount (~> 0.6.14)
|
|
23
|
+
rack-test (~> 0.5.7)
|
|
24
|
+
tzinfo (~> 0.3.23)
|
|
25
|
+
activemodel (3.0.7)
|
|
26
|
+
activesupport (= 3.0.7)
|
|
27
|
+
builder (~> 2.1.2)
|
|
28
|
+
i18n (~> 0.5.0)
|
|
29
|
+
activerecord (3.0.7)
|
|
30
|
+
activemodel (= 3.0.7)
|
|
31
|
+
activesupport (= 3.0.7)
|
|
32
|
+
arel (~> 2.0.2)
|
|
33
|
+
tzinfo (~> 0.3.23)
|
|
34
|
+
activeresource (3.0.7)
|
|
35
|
+
activemodel (= 3.0.7)
|
|
36
|
+
activesupport (= 3.0.7)
|
|
12
37
|
activesupport (3.0.7)
|
|
38
|
+
arel (2.0.10)
|
|
39
|
+
builder (2.1.2)
|
|
13
40
|
cancan (1.6.5)
|
|
14
|
-
|
|
41
|
+
erubis (2.6.6)
|
|
42
|
+
abstract (>= 1.0.0)
|
|
43
|
+
i18n (0.5.0)
|
|
44
|
+
mail (2.2.19)
|
|
45
|
+
activesupport (>= 2.3.6)
|
|
46
|
+
i18n (>= 0.4.0)
|
|
47
|
+
mime-types (~> 1.16)
|
|
48
|
+
treetop (~> 1.4.8)
|
|
49
|
+
mime-types (1.16)
|
|
15
50
|
minitest (2.2.2)
|
|
51
|
+
polyglot (0.3.1)
|
|
52
|
+
rack (1.2.3)
|
|
53
|
+
rack-mount (0.6.14)
|
|
54
|
+
rack (>= 1.0.0)
|
|
55
|
+
rack-test (0.5.7)
|
|
56
|
+
rack (>= 1.0)
|
|
57
|
+
rails (3.0.7)
|
|
58
|
+
actionmailer (= 3.0.7)
|
|
59
|
+
actionpack (= 3.0.7)
|
|
60
|
+
activerecord (= 3.0.7)
|
|
61
|
+
activeresource (= 3.0.7)
|
|
62
|
+
activesupport (= 3.0.7)
|
|
63
|
+
bundler (~> 1.0)
|
|
64
|
+
railties (= 3.0.7)
|
|
65
|
+
railties (3.0.7)
|
|
66
|
+
actionpack (= 3.0.7)
|
|
67
|
+
activesupport (= 3.0.7)
|
|
68
|
+
rake (>= 0.8.7)
|
|
69
|
+
thor (~> 0.14.4)
|
|
70
|
+
rake (0.9.1)
|
|
71
|
+
thor (0.14.6)
|
|
72
|
+
treetop (1.4.9)
|
|
73
|
+
polyglot (>= 0.3.1)
|
|
74
|
+
tzinfo (0.3.27)
|
|
16
75
|
|
|
17
76
|
PLATFORMS
|
|
18
77
|
ruby
|
data/README.md
CHANGED
|
@@ -2,6 +2,18 @@ Role Up
|
|
|
2
2
|
===========
|
|
3
3
|
`CanCan` extension that adds some real-deal syntax and file organization lovin'!
|
|
4
4
|
|
|
5
|
+
### Warning
|
|
6
|
+
* Rule loading on application boot is finicky - should be fixed with
|
|
7
|
+
Railtie commit
|
|
8
|
+
* Changing rules in an ability class is not reflected on page reload in
|
|
9
|
+
development mode
|
|
10
|
+
|
|
11
|
+
### TODO
|
|
12
|
+
* Integration tests utilizing a complete `Rails` application
|
|
13
|
+
* Configure `role_up/railtie` to properly load the `app/abilities`
|
|
14
|
+
directory - currently hacked in
|
|
15
|
+
* Tests against `CanCan` 2.0 code base
|
|
16
|
+
|
|
5
17
|
### Convention
|
|
6
18
|
Authorization definitions with `CanCan` quickly become verbose in complex
|
|
7
19
|
applications. By breaking them up per model and being able to depend on
|
|
@@ -24,17 +36,19 @@ Here's an example ability file...
|
|
|
24
36
|
# app/abilities/widget_ability.rb
|
|
25
37
|
class WidgetAbility < Ability
|
|
26
38
|
|
|
27
|
-
define_rules
|
|
39
|
+
define_rules do |user|
|
|
28
40
|
can :manage , Widget , :user_id => user.id
|
|
29
41
|
end
|
|
30
42
|
|
|
31
43
|
end
|
|
32
44
|
|
|
33
|
-
The `define_rules` method accepts a block and yields the current
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
45
|
+
The `define_rules` method accepts a block and yields the current authorization
|
|
46
|
+
instance. This might be a User object, an instance of what is specified
|
|
47
|
+
in the `RoleUp.setup` block, or the instance provided when the Ability
|
|
48
|
+
class was instantiated. In this block, the standard `CanCan` ability
|
|
49
|
+
definitions methods apply. If you have a set of standard authorization
|
|
50
|
+
rules, you can reopen the provided `Ability` class and define a `standard_rules`
|
|
51
|
+
block. Check it...
|
|
38
52
|
|
|
39
53
|
# app/abilities/ability.rb
|
|
40
54
|
class Ability
|
data/lib/role_up.rb
CHANGED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
require 'rails/railtie'
|
|
2
|
+
|
|
3
|
+
module RoleUp
|
|
4
|
+
|
|
5
|
+
class Railtie < Rails::Railtie
|
|
6
|
+
|
|
7
|
+
initializer "role_up.initialize_app_abilities" do |app|
|
|
8
|
+
|
|
9
|
+
# load our app/abilities directory
|
|
10
|
+
Dir[ "#{app.root}/app/abilities/**/*_ability.rb" ].each { |a| require a }
|
|
11
|
+
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
end
|
data/lib/role_up/version.rb
CHANGED
data/role_up.gemspec
CHANGED
|
@@ -15,9 +15,8 @@ Gem::Specification.new do |s|
|
|
|
15
15
|
s.rubyforge_project = "role_up"
|
|
16
16
|
|
|
17
17
|
# Runtime Dependencies
|
|
18
|
-
s.add_dependency "activesupport" , "~> 3.0.0"
|
|
19
18
|
s.add_dependency "cancan" , "~> 1.6.5"
|
|
20
|
-
s.add_dependency "
|
|
19
|
+
s.add_dependency "rails" , "~> 3.0.0"
|
|
21
20
|
|
|
22
21
|
# Development Dependencies
|
|
23
22
|
s.add_development_dependency "bundler" , "~> 1.0.0"
|
metadata
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: role_up
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
hash: 31
|
|
5
4
|
prerelease:
|
|
6
|
-
|
|
7
|
-
- 0
|
|
8
|
-
- 1
|
|
9
|
-
- 2
|
|
10
|
-
version: 0.1.2
|
|
5
|
+
version: 0.1.3
|
|
11
6
|
platform: ruby
|
|
12
7
|
authors:
|
|
13
8
|
- Ryan Cook
|
|
@@ -15,89 +10,52 @@ autorequire:
|
|
|
15
10
|
bindir: bin
|
|
16
11
|
cert_chain: []
|
|
17
12
|
|
|
18
|
-
date: 2011-06-
|
|
19
|
-
default_executable:
|
|
13
|
+
date: 2011-06-03 00:00:00 Z
|
|
20
14
|
dependencies:
|
|
21
15
|
- !ruby/object:Gem::Dependency
|
|
22
|
-
name:
|
|
16
|
+
name: cancan
|
|
23
17
|
prerelease: false
|
|
24
18
|
requirement: &id001 !ruby/object:Gem::Requirement
|
|
25
19
|
none: false
|
|
26
20
|
requirements:
|
|
27
21
|
- - ~>
|
|
28
22
|
- !ruby/object:Gem::Version
|
|
29
|
-
|
|
30
|
-
segments:
|
|
31
|
-
- 3
|
|
32
|
-
- 0
|
|
33
|
-
- 0
|
|
34
|
-
version: 3.0.0
|
|
23
|
+
version: 1.6.5
|
|
35
24
|
type: :runtime
|
|
36
25
|
version_requirements: *id001
|
|
37
26
|
- !ruby/object:Gem::Dependency
|
|
38
|
-
name:
|
|
27
|
+
name: rails
|
|
39
28
|
prerelease: false
|
|
40
29
|
requirement: &id002 !ruby/object:Gem::Requirement
|
|
41
30
|
none: false
|
|
42
31
|
requirements:
|
|
43
32
|
- - ~>
|
|
44
33
|
- !ruby/object:Gem::Version
|
|
45
|
-
|
|
46
|
-
segments:
|
|
47
|
-
- 1
|
|
48
|
-
- 6
|
|
49
|
-
- 5
|
|
50
|
-
version: 1.6.5
|
|
34
|
+
version: 3.0.0
|
|
51
35
|
type: :runtime
|
|
52
36
|
version_requirements: *id002
|
|
53
|
-
- !ruby/object:Gem::Dependency
|
|
54
|
-
name: i18n
|
|
55
|
-
prerelease: false
|
|
56
|
-
requirement: &id003 !ruby/object:Gem::Requirement
|
|
57
|
-
none: false
|
|
58
|
-
requirements:
|
|
59
|
-
- - ~>
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
hash: 7
|
|
62
|
-
segments:
|
|
63
|
-
- 0
|
|
64
|
-
- 6
|
|
65
|
-
- 0
|
|
66
|
-
version: 0.6.0
|
|
67
|
-
type: :runtime
|
|
68
|
-
version_requirements: *id003
|
|
69
37
|
- !ruby/object:Gem::Dependency
|
|
70
38
|
name: bundler
|
|
71
39
|
prerelease: false
|
|
72
|
-
requirement: &
|
|
40
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
|
73
41
|
none: false
|
|
74
42
|
requirements:
|
|
75
43
|
- - ~>
|
|
76
44
|
- !ruby/object:Gem::Version
|
|
77
|
-
hash: 23
|
|
78
|
-
segments:
|
|
79
|
-
- 1
|
|
80
|
-
- 0
|
|
81
|
-
- 0
|
|
82
45
|
version: 1.0.0
|
|
83
46
|
type: :development
|
|
84
|
-
version_requirements: *
|
|
47
|
+
version_requirements: *id003
|
|
85
48
|
- !ruby/object:Gem::Dependency
|
|
86
49
|
name: minitest
|
|
87
50
|
prerelease: false
|
|
88
|
-
requirement: &
|
|
51
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
|
89
52
|
none: false
|
|
90
53
|
requirements:
|
|
91
54
|
- - ~>
|
|
92
55
|
- !ruby/object:Gem::Version
|
|
93
|
-
hash: 3
|
|
94
|
-
segments:
|
|
95
|
-
- 2
|
|
96
|
-
- 2
|
|
97
|
-
- 2
|
|
98
56
|
version: 2.2.2
|
|
99
57
|
type: :development
|
|
100
|
-
version_requirements: *
|
|
58
|
+
version_requirements: *id004
|
|
101
59
|
description: CanCan extension that adds some real-deal syntax and file organization lovin'!
|
|
102
60
|
email:
|
|
103
61
|
- ryan@quickleft.com
|
|
@@ -118,6 +76,7 @@ files:
|
|
|
118
76
|
- lib/role_up.rb
|
|
119
77
|
- lib/role_up/ability.rb
|
|
120
78
|
- lib/role_up/errors.rb
|
|
79
|
+
- lib/role_up/railtie.rb
|
|
121
80
|
- lib/role_up/version.rb
|
|
122
81
|
- role_up.gemspec
|
|
123
82
|
- test/ability_spec_test.rb
|
|
@@ -127,7 +86,6 @@ files:
|
|
|
127
86
|
- test/support/helper_classes.rb
|
|
128
87
|
- test/support/helper_methods.rb
|
|
129
88
|
- test/test_helper.rb
|
|
130
|
-
has_rdoc: true
|
|
131
89
|
homepage: https://github.com/quickleft/role_up
|
|
132
90
|
licenses: []
|
|
133
91
|
|
|
@@ -141,26 +99,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
141
99
|
requirements:
|
|
142
100
|
- - ">="
|
|
143
101
|
- !ruby/object:Gem::Version
|
|
144
|
-
hash: 3
|
|
145
|
-
segments:
|
|
146
|
-
- 0
|
|
147
102
|
version: "0"
|
|
148
103
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
149
104
|
none: false
|
|
150
105
|
requirements:
|
|
151
106
|
- - ">="
|
|
152
107
|
- !ruby/object:Gem::Version
|
|
153
|
-
hash: 3
|
|
154
|
-
segments:
|
|
155
|
-
- 0
|
|
156
108
|
version: "0"
|
|
157
109
|
requirements: []
|
|
158
110
|
|
|
159
111
|
rubyforge_project: role_up
|
|
160
|
-
rubygems_version: 1.
|
|
112
|
+
rubygems_version: 1.8.5
|
|
161
113
|
signing_key:
|
|
162
114
|
specification_version: 3
|
|
163
|
-
summary: role_up-0.1.
|
|
115
|
+
summary: role_up-0.1.3
|
|
164
116
|
test_files:
|
|
165
117
|
- test/ability_spec_test.rb
|
|
166
118
|
- test/ability_test.rb
|