rolify 3.3.0.rc2 → 3.3.0.rc4

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.
Files changed (50) hide show
  1. data/.gitignore +1 -0
  2. data/.travis.yml +18 -11
  3. data/CHANGELOG.rdoc +18 -0
  4. data/Gemfile +16 -3
  5. data/README.md +17 -17
  6. data/Rakefile +23 -1
  7. data/UPGRADE.rdoc +22 -0
  8. data/gemfiles/Gemfile.rails-3.2 +17 -0
  9. data/gemfiles/Gemfile.rails-4.0 +26 -0
  10. data/lib/generators/active_record/rolify_generator.rb +50 -0
  11. data/lib/generators/active_record/templates/migration.rb +19 -0
  12. data/lib/generators/mongoid/rolify_generator.rb +51 -0
  13. data/lib/generators/rolify/rolify_generator.rb +35 -0
  14. data/lib/generators/rolify/{role/templates → templates}/initializer.rb +2 -2
  15. data/lib/generators/rolify/templates/role-active_record.rb +11 -0
  16. data/lib/generators/rolify/user_generator.rb +39 -0
  17. data/lib/rolify/adapters/active_record/resource_adapter.rb +7 -7
  18. data/lib/rolify/adapters/active_record/role_adapter.rb +8 -8
  19. data/lib/rolify/configure.rb +1 -1
  20. data/lib/rolify/version.rb +1 -1
  21. data/lib/rolify.rb +1 -1
  22. data/rolify.gemspec +5 -12
  23. data/spec/README.rdoc +24 -0
  24. data/spec/generators/rolify/{role/role_generator_spec.rb → rolify_generator_spec.rb} +115 -13
  25. data/spec/generators_helper.rb +14 -0
  26. data/spec/rolify/custom_spec.rb +9 -16
  27. data/spec/rolify/namespace_spec.rb +9 -16
  28. data/spec/rolify/resource_spec.rb +13 -2
  29. data/spec/rolify/resourcifed_and_rolifed_spec.rb +5 -1
  30. data/spec/rolify/role_spec.rb +9 -16
  31. data/spec/rolify/shared_contexts.rb +9 -3
  32. data/spec/rolify/shared_examples/shared_examples_for_add_role.rb +2 -2
  33. data/spec/rolify/shared_examples/shared_examples_for_dynamic.rb +1 -1
  34. data/spec/rolify/shared_examples/shared_examples_for_has_any_role.rb +3 -3
  35. data/spec/rolify/shared_examples/shared_examples_for_only_has_role.rb +3 -3
  36. data/spec/rolify/shared_examples/shared_examples_for_roles.rb +1 -1
  37. data/spec/rolify/shared_examples/shared_examples_for_scopes.rb +10 -10
  38. data/spec/spec_helper.rb +1 -1
  39. data/spec/support/adapters/active_record.rb +7 -0
  40. data/spec/support/adapters/mongoid.rb +8 -4
  41. data/spec/support/data.rb +3 -0
  42. data/spec/support/schema.rb +5 -0
  43. metadata +38 -77
  44. data/lib/generators/rolify/role/role_generator.rb +0 -52
  45. data/lib/generators/rolify/role/templates/migration.rb +0 -19
  46. data/lib/generators/rolify/role/templates/role-active_record.rb +0 -6
  47. /data/lib/generators/{rolify/role/templates/README-active_record → active_record/templates/README} +0 -0
  48. /data/lib/generators/{rolify/role → mongoid}/templates/README-mongoid +0 -0
  49. /data/lib/generators/rolify/{role/templates → templates}/README +0 -0
  50. /data/lib/generators/rolify/{role/templates → templates}/role-mongoid.rb +0 -0
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: 3.3.0.rc2
4
+ version: 3.3.0.rc4
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -9,10 +9,10 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-08 00:00:00.000000000 Z
12
+ date: 2013-03-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: sqlite3
15
+ name: ammeter
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
@@ -28,7 +28,7 @@ dependencies:
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0'
30
30
  - !ruby/object:Gem::Dependency
31
- name: bson_ext
31
+ name: rake
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
@@ -44,13 +44,13 @@ dependencies:
44
44
  - !ruby/object:Gem::Version
45
45
  version: '0'
46
46
  - !ruby/object:Gem::Dependency
47
- name: activerecord
47
+ name: rspec
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  none: false
50
50
  requirements:
51
51
  - - ! '>='
52
52
  - !ruby/object:Gem::Version
53
- version: 3.1.0
53
+ version: '2.0'
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
@@ -58,15 +58,15 @@ dependencies:
58
58
  requirements:
59
59
  - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
- version: 3.1.0
61
+ version: '2.0'
62
62
  - !ruby/object:Gem::Dependency
63
- name: mongoid
63
+ name: rspec-rails
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  none: false
66
66
  requirements:
67
67
  - - ! '>='
68
68
  - !ruby/object:Gem::Version
69
- version: '3.0'
69
+ version: '2.0'
70
70
  type: :development
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
@@ -74,9 +74,9 @@ dependencies:
74
74
  requirements:
75
75
  - - ! '>='
76
76
  - !ruby/object:Gem::Version
77
- version: '3.0'
77
+ version: '2.0'
78
78
  - !ruby/object:Gem::Dependency
79
- name: ammeter
79
+ name: bundler
80
80
  requirement: !ruby/object:Gem::Requirement
81
81
  none: false
82
82
  requirements:
@@ -92,7 +92,7 @@ dependencies:
92
92
  - !ruby/object:Gem::Version
93
93
  version: '0'
94
94
  - !ruby/object:Gem::Dependency
95
- name: rake
95
+ name: fuubar
96
96
  requirement: !ruby/object:Gem::Requirement
97
97
  none: false
98
98
  requirements:
@@ -108,61 +108,13 @@ dependencies:
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0'
110
110
  - !ruby/object:Gem::Dependency
111
- name: rspec
112
- requirement: !ruby/object:Gem::Requirement
113
- none: false
114
- requirements:
115
- - - ! '>='
116
- - !ruby/object:Gem::Version
117
- version: '2.0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ! '>='
124
- - !ruby/object:Gem::Version
125
- version: '2.0'
126
- - !ruby/object:Gem::Dependency
127
- name: rspec-rails
128
- requirement: !ruby/object:Gem::Requirement
129
- none: false
130
- requirements:
131
- - - ! '>='
132
- - !ruby/object:Gem::Version
133
- version: '2.0'
134
- type: :development
135
- prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
139
- - - ! '>='
140
- - !ruby/object:Gem::Version
141
- version: '2.0'
142
- - !ruby/object:Gem::Dependency
143
- name: mongoid-rspec
144
- requirement: !ruby/object:Gem::Requirement
145
- none: false
146
- requirements:
147
- - - ! '>='
148
- - !ruby/object:Gem::Version
149
- version: '1.5'
150
- type: :development
151
- prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
- requirements:
155
- - - ! '>='
156
- - !ruby/object:Gem::Version
157
- version: '1.5'
158
- - !ruby/object:Gem::Dependency
159
- name: bundler
111
+ name: activerecord
160
112
  requirement: !ruby/object:Gem::Requirement
161
113
  none: false
162
114
  requirements:
163
115
  - - ! '>='
164
116
  - !ruby/object:Gem::Version
165
- version: '0'
117
+ version: 3.2.0
166
118
  type: :development
167
119
  prerelease: false
168
120
  version_requirements: !ruby/object:Gem::Requirement
@@ -170,15 +122,15 @@ dependencies:
170
122
  requirements:
171
123
  - - ! '>='
172
124
  - !ruby/object:Gem::Version
173
- version: '0'
125
+ version: 3.2.0
174
126
  - !ruby/object:Gem::Dependency
175
- name: fuubar
127
+ name: mongoid
176
128
  requirement: !ruby/object:Gem::Requirement
177
129
  none: false
178
130
  requirements:
179
131
  - - ! '>='
180
132
  - !ruby/object:Gem::Version
181
- version: '0'
133
+ version: '3.1'
182
134
  type: :development
183
135
  prerelease: false
184
136
  version_requirements: !ruby/object:Gem::Requirement
@@ -186,7 +138,7 @@ dependencies:
186
138
  requirements:
187
139
  - - ! '>='
188
140
  - !ruby/object:Gem::Version
189
- version: '0'
141
+ version: '3.1'
190
142
  description: Very simple Roles library without any authorization enforcement supporting
191
143
  scope on resource objects (instance or class). Supports ActiveRecord and Mongoid
192
144
  ORMs.
@@ -204,14 +156,19 @@ files:
204
156
  - README.md
205
157
  - Rakefile
206
158
  - UPGRADE.rdoc
207
- - lib/generators/rolify/role/role_generator.rb
208
- - lib/generators/rolify/role/templates/README
209
- - lib/generators/rolify/role/templates/README-active_record
210
- - lib/generators/rolify/role/templates/README-mongoid
211
- - lib/generators/rolify/role/templates/initializer.rb
212
- - lib/generators/rolify/role/templates/migration.rb
213
- - lib/generators/rolify/role/templates/role-active_record.rb
214
- - lib/generators/rolify/role/templates/role-mongoid.rb
159
+ - gemfiles/Gemfile.rails-3.2
160
+ - gemfiles/Gemfile.rails-4.0
161
+ - lib/generators/active_record/rolify_generator.rb
162
+ - lib/generators/active_record/templates/README
163
+ - lib/generators/active_record/templates/migration.rb
164
+ - lib/generators/mongoid/rolify_generator.rb
165
+ - lib/generators/mongoid/templates/README-mongoid
166
+ - lib/generators/rolify/rolify_generator.rb
167
+ - lib/generators/rolify/templates/README
168
+ - lib/generators/rolify/templates/initializer.rb
169
+ - lib/generators/rolify/templates/role-active_record.rb
170
+ - lib/generators/rolify/templates/role-mongoid.rb
171
+ - lib/generators/rolify/user_generator.rb
215
172
  - lib/rolify.rb
216
173
  - lib/rolify/adapters/active_record/resource_adapter.rb
217
174
  - lib/rolify/adapters/active_record/role_adapter.rb
@@ -230,7 +187,9 @@ files:
230
187
  - lib/rolify/utils.rb
231
188
  - lib/rolify/version.rb
232
189
  - rolify.gemspec
233
- - spec/generators/rolify/role/role_generator_spec.rb
190
+ - spec/README.rdoc
191
+ - spec/generators/rolify/rolify_generator_spec.rb
192
+ - spec/generators_helper.rb
234
193
  - spec/rolify/config_spec.rb
235
194
  - spec/rolify/custom_spec.rb
236
195
  - spec/rolify/matchers_spec.rb
@@ -276,12 +235,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
276
235
  version: 1.3.1
277
236
  requirements: []
278
237
  rubyforge_project: rolify
279
- rubygems_version: 1.8.23
238
+ rubygems_version: 1.8.25
280
239
  signing_key:
281
240
  specification_version: 3
282
241
  summary: Roles library with resource scoping
283
242
  test_files:
284
- - spec/generators/rolify/role/role_generator_spec.rb
243
+ - spec/README.rdoc
244
+ - spec/generators/rolify/rolify_generator_spec.rb
245
+ - spec/generators_helper.rb
285
246
  - spec/rolify/config_spec.rb
286
247
  - spec/rolify/custom_spec.rb
287
248
  - spec/rolify/matchers_spec.rb
@@ -1,52 +0,0 @@
1
- require 'rails/generators/migration'
2
-
3
- module Rolify
4
- module Generators
5
- class RoleGenerator < Rails::Generators::Base
6
- include Rails::Generators::Migration
7
-
8
- source_root File.expand_path('../templates', __FILE__)
9
- argument :role_cname, :type => :string, :default => "Role"
10
- argument :user_cname, :type => :string, :default => "User"
11
- argument :orm_adapter, :type => :string, :default => "active_record"
12
- #class_option :dynamic_shortcuts, :type => :boolean, :default => false
13
-
14
- desc "Generates a model with the given NAME and a migration file."
15
-
16
- def generate_role
17
- template "role-#{orm_adapter}.rb", "app/models/#{role_cname.underscore}.rb"
18
- inject_into_file(model_path, :after => inject_rolify_method) do
19
- " rolify" + (role_cname == "Role" ? "" : " :role_cname => '#{role_cname.camelize}'") + "\n"
20
- end
21
- end
22
-
23
- def copy_role_file
24
- template "initializer.rb", "config/initializers/rolify.rb"
25
- migration_template "migration.rb", "db/migrate/rolify_create_#{role_cname.tableize}" if orm_adapter == "active_record"
26
- end
27
-
28
- def model_path
29
- File.join("app", "models", "#{user_cname.underscore}.rb")
30
- end
31
-
32
- def self.next_migration_number(path)
33
- Time.now.utc.strftime("%Y%m%d%H%M%S")
34
- end
35
-
36
- def show_readme
37
- if behavior == :invoke
38
- readme "README"
39
- readme "README-#{orm_adapter}"
40
- end
41
- end
42
-
43
- def inject_rolify_method
44
- if orm_adapter == "active_record"
45
- /class #{user_cname.camelize}\n|class #{user_cname.camelize} .*\n/
46
- else
47
- /include Mongoid::Document\n|include Mongoid::Document .*\n/
48
- end
49
- end
50
- end
51
- end
52
- end
@@ -1,19 +0,0 @@
1
- class RolifyCreate<%= role_cname.pluralize.camelize %> < ActiveRecord::Migration
2
- def change
3
- create_table(:<%= role_cname.tableize %>) do |t|
4
- t.string :name
5
- t.references :resource, :polymorphic => true
6
-
7
- t.timestamps
8
- end
9
-
10
- create_table(:<%= (user_cname.tableize + "_" + role_cname.tableize) %>, :id => false) do |t|
11
- t.references :<%= user_cname.underscore.singularize %>
12
- t.references :<%= role_cname.underscore.singularize %>
13
- end
14
-
15
- add_index(:<%= role_cname.tableize %>, :name)
16
- add_index(:<%= role_cname.tableize %>, [ :name, :resource_type, :resource_id ])
17
- add_index(:<%= "#{user_cname.tableize}_#{role_cname.tableize}" %>, [ :<%= user_cname.underscore.singularize %>_id, :<%= role_cname.underscore.singularize %>_id ])
18
- end
19
- end
@@ -1,6 +0,0 @@
1
- class <%= role_cname.camelize %> < ActiveRecord::Base
2
- has_and_belongs_to_many :<%= user_cname.tableize %>, :join_table => :<%= "#{user_cname.tableize}_#{role_cname.tableize}" %>
3
- belongs_to :resource, :polymorphic => true
4
-
5
- scopify
6
- end