roles_for_mongoid 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.bundle/config +2 -0
- data/Gemfile +15 -0
- data/README.markdown +21 -3
- data/Rakefile +6 -5
- data/VERSION +1 -1
- data/lib/roles_mongoid/strategy/multi/many_roles.rb +5 -3
- data/lib/roles_mongoid/strategy/single/one_role.rb +7 -5
- data/lib/roles_mongoid.rb +1 -0
- data/roles_for_mongoid.gemspec +23 -18
- data/spec/roles_mongoid/one_role_spec.rb +1 -1
- data/spec/spec_helper.rb +1 -2
- metadata +38 -21
data/.bundle/config
ADDED
data/Gemfile
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
source :rubygems
|
2
|
+
source 'http://gems.github.com/'
|
3
|
+
|
4
|
+
group :default do
|
5
|
+
gem "mongoid", '~> 2.0.0.beta.18'
|
6
|
+
gem 'bson', '~> 1.0.7'
|
7
|
+
gem "activesupport", '~> 3.0.0'
|
8
|
+
gem "require_all", '~> 1.2.0'
|
9
|
+
gem "sugar-high", '~> 0.2.10'
|
10
|
+
gem "roles_generic", '~> 0.2.6'
|
11
|
+
end
|
12
|
+
|
13
|
+
group :test do
|
14
|
+
gem "rspec", '~> 2.0.0.beta.22'
|
15
|
+
end
|
data/README.markdown
CHANGED
@@ -20,12 +20,30 @@ It also implements the following Role strategies:
|
|
20
20
|
|
21
21
|
## Rails generator
|
22
22
|
|
23
|
-
|
23
|
+
The library comes with a Rails 3 generator that lets you populate a user model with a role strategy of your choice.
|
24
24
|
|
25
|
-
|
25
|
+
The following role strategies are included by default. Add your own by adding extra files inside the strategy folder, one file for each role strategy is recommended.
|
26
26
|
|
27
|
-
|
27
|
+
* admin_flag
|
28
|
+
* many_roles
|
29
|
+
* one_role
|
30
|
+
* roles_mask
|
31
|
+
* role_string
|
32
|
+
* role_strings
|
33
|
+
|
34
|
+
*Roles generator*
|
35
|
+
|
36
|
+
Apply :admin_flag Role strategy to User model using default roles :admin and :guest (default)
|
37
|
+
|
38
|
+
<code>$ rails g mongoid:roles User --strategy admin_flag</code>
|
39
|
+
|
40
|
+
Apply :admin_flag Role strategy to User model using default roles and extra role :author
|
41
|
+
|
42
|
+
<code>$ rails g mongoid:roles_migration User --strategy admin_flag --roles author</code>
|
43
|
+
|
44
|
+
Apply :one_role Role strategy to User model without default roles, only with roles :user, :special and :editor
|
28
45
|
|
46
|
+
<code>$ rails g mongoid:roles_migration User --strategy one_role --roles user special editor --no-default-roles</code>
|
29
47
|
## Note on Patches/Pull Requests
|
30
48
|
|
31
49
|
* Fork the project.
|
data/Rakefile
CHANGED
@@ -7,13 +7,14 @@ begin
|
|
7
7
|
gem.email = "kmandrup@gmail.com"
|
8
8
|
gem.homepage = "http://github.com/kristianmandrup/roles_for_mm"
|
9
9
|
gem.authors = ["Kristian Mandrup"]
|
10
|
-
gem.add_development_dependency "rspec", '~> 2.0.0.beta.
|
10
|
+
gem.add_development_dependency "rspec", '~> 2.0.0.beta.22'
|
11
11
|
|
12
|
-
gem.add_dependency "mongoid", '~> 2.0.0.beta.
|
12
|
+
gem.add_dependency "mongoid", '~> 2.0.0.beta.18'
|
13
|
+
gem.add_dependency 'bson', '~> 1.0.7'
|
13
14
|
gem.add_dependency "activesupport", '~> 3.0.0'
|
14
|
-
gem.add_dependency "require_all", '~> 1.
|
15
|
-
gem.add_dependency "sugar-high", '~> 0.2.
|
16
|
-
gem.add_dependency "roles_generic", '~> 0.2.
|
15
|
+
gem.add_dependency "require_all", '~> 1.2.0'
|
16
|
+
gem.add_dependency "sugar-high", '~> 0.2.10'
|
17
|
+
gem.add_dependency "roles_generic", '~> 0.2.7'
|
17
18
|
|
18
19
|
end
|
19
20
|
Jeweler::GemcutterTasks.new
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.2
|
@@ -34,9 +34,11 @@ module RoleStrategy::Mongoid
|
|
34
34
|
end
|
35
35
|
|
36
36
|
# assign roles
|
37
|
-
def roles=(*
|
38
|
-
|
39
|
-
|
37
|
+
def roles=(*_roles)
|
38
|
+
_roles = get_roles(_roles)
|
39
|
+
return nil if !_roles || _roles.empty?
|
40
|
+
|
41
|
+
role_relations = role_class.find_roles(_roles)
|
40
42
|
self.send("#{role_attribute}=", role_relations)
|
41
43
|
save
|
42
44
|
end
|
@@ -30,9 +30,11 @@ module RoleStrategy::Mongoid
|
|
30
30
|
|
31
31
|
module Implementation
|
32
32
|
# assign roles
|
33
|
-
def roles=(*
|
34
|
-
|
35
|
-
|
33
|
+
def roles=(*_roles)
|
34
|
+
_roles = get_roles(_roles)
|
35
|
+
return nil if !_roles || _roles.empty?
|
36
|
+
|
37
|
+
first_role = _roles.flatten.first
|
36
38
|
role_relation = role_class.find_role(first_role)
|
37
39
|
self.send("#{role_attribute}=", role_relation)
|
38
40
|
one_role.save
|
@@ -41,8 +43,8 @@ module RoleStrategy::Mongoid
|
|
41
43
|
|
42
44
|
# query assigned roles
|
43
45
|
def roles
|
44
|
-
role = self.send(role_attribute)
|
45
|
-
[role]
|
46
|
+
role = self.send(role_attribute)
|
47
|
+
role ? [role.name.to_sym] : []
|
46
48
|
end
|
47
49
|
|
48
50
|
def roles_list
|
data/lib/roles_mongoid.rb
CHANGED
data/roles_for_mongoid.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{roles_for_mongoid}
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Kristian Mandrup"]
|
12
|
-
s.date = %q{2010-09-
|
12
|
+
s.date = %q{2010-09-23}
|
13
13
|
s.description = %q{Makes it easy to set a role strategy on your User model in Mongoid}
|
14
14
|
s.email = %q{kmandrup@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -17,9 +17,11 @@ Gem::Specification.new do |s|
|
|
17
17
|
"README.markdown"
|
18
18
|
]
|
19
19
|
s.files = [
|
20
|
-
".
|
20
|
+
".bundle/config",
|
21
|
+
".document",
|
21
22
|
".gitignore",
|
22
23
|
".rspec",
|
24
|
+
"Gemfile",
|
23
25
|
"LICENSE",
|
24
26
|
"README.markdown",
|
25
27
|
"Rakefile",
|
@@ -74,27 +76,30 @@ Gem::Specification.new do |s|
|
|
74
76
|
s.specification_version = 3
|
75
77
|
|
76
78
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
77
|
-
s.add_development_dependency(%q<rspec>, ["~> 2.0.0.beta.
|
78
|
-
s.add_runtime_dependency(%q<mongoid>, ["~> 2.0.0.beta.
|
79
|
+
s.add_development_dependency(%q<rspec>, ["~> 2.0.0.beta.22"])
|
80
|
+
s.add_runtime_dependency(%q<mongoid>, ["~> 2.0.0.beta.18"])
|
81
|
+
s.add_runtime_dependency(%q<bson>, ["~> 1.0.7"])
|
79
82
|
s.add_runtime_dependency(%q<activesupport>, ["~> 3.0.0"])
|
80
|
-
s.add_runtime_dependency(%q<require_all>, ["~> 1.
|
81
|
-
s.add_runtime_dependency(%q<sugar-high>, ["~> 0.2.
|
82
|
-
s.add_runtime_dependency(%q<roles_generic>, ["~> 0.2.
|
83
|
+
s.add_runtime_dependency(%q<require_all>, ["~> 1.2.0"])
|
84
|
+
s.add_runtime_dependency(%q<sugar-high>, ["~> 0.2.10"])
|
85
|
+
s.add_runtime_dependency(%q<roles_generic>, ["~> 0.2.7"])
|
83
86
|
else
|
84
|
-
s.add_dependency(%q<rspec>, ["~> 2.0.0.beta.
|
85
|
-
s.add_dependency(%q<mongoid>, ["~> 2.0.0.beta.
|
87
|
+
s.add_dependency(%q<rspec>, ["~> 2.0.0.beta.22"])
|
88
|
+
s.add_dependency(%q<mongoid>, ["~> 2.0.0.beta.18"])
|
89
|
+
s.add_dependency(%q<bson>, ["~> 1.0.7"])
|
86
90
|
s.add_dependency(%q<activesupport>, ["~> 3.0.0"])
|
87
|
-
s.add_dependency(%q<require_all>, ["~> 1.
|
88
|
-
s.add_dependency(%q<sugar-high>, ["~> 0.2.
|
89
|
-
s.add_dependency(%q<roles_generic>, ["~> 0.2.
|
91
|
+
s.add_dependency(%q<require_all>, ["~> 1.2.0"])
|
92
|
+
s.add_dependency(%q<sugar-high>, ["~> 0.2.10"])
|
93
|
+
s.add_dependency(%q<roles_generic>, ["~> 0.2.7"])
|
90
94
|
end
|
91
95
|
else
|
92
|
-
s.add_dependency(%q<rspec>, ["~> 2.0.0.beta.
|
93
|
-
s.add_dependency(%q<mongoid>, ["~> 2.0.0.beta.
|
96
|
+
s.add_dependency(%q<rspec>, ["~> 2.0.0.beta.22"])
|
97
|
+
s.add_dependency(%q<mongoid>, ["~> 2.0.0.beta.18"])
|
98
|
+
s.add_dependency(%q<bson>, ["~> 1.0.7"])
|
94
99
|
s.add_dependency(%q<activesupport>, ["~> 3.0.0"])
|
95
|
-
s.add_dependency(%q<require_all>, ["~> 1.
|
96
|
-
s.add_dependency(%q<sugar-high>, ["~> 0.2.
|
97
|
-
s.add_dependency(%q<roles_generic>, ["~> 0.2.
|
100
|
+
s.add_dependency(%q<require_all>, ["~> 1.2.0"])
|
101
|
+
s.add_dependency(%q<sugar-high>, ["~> 0.2.10"])
|
102
|
+
s.add_dependency(%q<roles_generic>, ["~> 0.2.7"])
|
98
103
|
end
|
99
104
|
end
|
100
105
|
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
8
|
+
- 2
|
9
|
+
version: 0.2.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Kristian Mandrup
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-09-
|
17
|
+
date: 2010-09-23 00:00:00 +02:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -30,8 +30,8 @@ dependencies:
|
|
30
30
|
- 0
|
31
31
|
- 0
|
32
32
|
- beta
|
33
|
-
-
|
34
|
-
version: 2.0.0.beta.
|
33
|
+
- 22
|
34
|
+
version: 2.0.0.beta.22
|
35
35
|
type: :development
|
36
36
|
version_requirements: *id001
|
37
37
|
- !ruby/object:Gem::Dependency
|
@@ -47,14 +47,29 @@ dependencies:
|
|
47
47
|
- 0
|
48
48
|
- 0
|
49
49
|
- beta
|
50
|
-
-
|
51
|
-
version: 2.0.0.beta.
|
50
|
+
- 18
|
51
|
+
version: 2.0.0.beta.18
|
52
52
|
type: :runtime
|
53
53
|
version_requirements: *id002
|
54
54
|
- !ruby/object:Gem::Dependency
|
55
|
-
name:
|
55
|
+
name: bson
|
56
56
|
prerelease: false
|
57
57
|
requirement: &id003 !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ~>
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
segments:
|
63
|
+
- 1
|
64
|
+
- 0
|
65
|
+
- 7
|
66
|
+
version: 1.0.7
|
67
|
+
type: :runtime
|
68
|
+
version_requirements: *id003
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: activesupport
|
71
|
+
prerelease: false
|
72
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
58
73
|
none: false
|
59
74
|
requirements:
|
60
75
|
- - ~>
|
@@ -65,26 +80,26 @@ dependencies:
|
|
65
80
|
- 0
|
66
81
|
version: 3.0.0
|
67
82
|
type: :runtime
|
68
|
-
version_requirements: *
|
83
|
+
version_requirements: *id004
|
69
84
|
- !ruby/object:Gem::Dependency
|
70
85
|
name: require_all
|
71
86
|
prerelease: false
|
72
|
-
requirement: &
|
87
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
73
88
|
none: false
|
74
89
|
requirements:
|
75
90
|
- - ~>
|
76
91
|
- !ruby/object:Gem::Version
|
77
92
|
segments:
|
78
93
|
- 1
|
79
|
-
-
|
94
|
+
- 2
|
80
95
|
- 0
|
81
|
-
version: 1.
|
96
|
+
version: 1.2.0
|
82
97
|
type: :runtime
|
83
|
-
version_requirements: *
|
98
|
+
version_requirements: *id005
|
84
99
|
- !ruby/object:Gem::Dependency
|
85
100
|
name: sugar-high
|
86
101
|
prerelease: false
|
87
|
-
requirement: &
|
102
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
88
103
|
none: false
|
89
104
|
requirements:
|
90
105
|
- - ~>
|
@@ -92,14 +107,14 @@ dependencies:
|
|
92
107
|
segments:
|
93
108
|
- 0
|
94
109
|
- 2
|
95
|
-
-
|
96
|
-
version: 0.2.
|
110
|
+
- 10
|
111
|
+
version: 0.2.10
|
97
112
|
type: :runtime
|
98
|
-
version_requirements: *
|
113
|
+
version_requirements: *id006
|
99
114
|
- !ruby/object:Gem::Dependency
|
100
115
|
name: roles_generic
|
101
116
|
prerelease: false
|
102
|
-
requirement: &
|
117
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
103
118
|
none: false
|
104
119
|
requirements:
|
105
120
|
- - ~>
|
@@ -107,10 +122,10 @@ dependencies:
|
|
107
122
|
segments:
|
108
123
|
- 0
|
109
124
|
- 2
|
110
|
-
-
|
111
|
-
version: 0.2.
|
125
|
+
- 7
|
126
|
+
version: 0.2.7
|
112
127
|
type: :runtime
|
113
|
-
version_requirements: *
|
128
|
+
version_requirements: *id007
|
114
129
|
description: Makes it easy to set a role strategy on your User model in Mongoid
|
115
130
|
email: kmandrup@gmail.com
|
116
131
|
executables: []
|
@@ -121,9 +136,11 @@ extra_rdoc_files:
|
|
121
136
|
- LICENSE
|
122
137
|
- README.markdown
|
123
138
|
files:
|
139
|
+
- .bundle/config
|
124
140
|
- .document
|
125
141
|
- .gitignore
|
126
142
|
- .rspec
|
143
|
+
- Gemfile
|
127
144
|
- LICENSE
|
128
145
|
- README.markdown
|
129
146
|
- Rakefile
|