careacademy-acl9 3.3.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.
Files changed (138) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +24 -0
  3. data/.ruby-version +1 -0
  4. data/.travis.yml +26 -0
  5. data/Appraisals +23 -0
  6. data/CHANGELOG.md +122 -0
  7. data/CONTRIBUTING.md +62 -0
  8. data/Gemfile +7 -0
  9. data/Gemfile.lock +167 -0
  10. data/LICENSE +9 -0
  11. data/MIT-LICENSE +20 -0
  12. data/README.md +326 -0
  13. data/Rakefile +20 -0
  14. data/TODO +42 -0
  15. data/acl9.gemspec +27 -0
  16. data/bin/appraisal +16 -0
  17. data/bin/bundler +16 -0
  18. data/bin/cc-tddium-post-worker +16 -0
  19. data/bin/erubis +16 -0
  20. data/bin/rackup +16 -0
  21. data/bin/rails +16 -0
  22. data/bin/rake +16 -0
  23. data/bin/sprockets +16 -0
  24. data/bin/tapout +16 -0
  25. data/bin/thor +16 -0
  26. data/bin/tilt +16 -0
  27. data/bin/yard +16 -0
  28. data/bin/yardoc +16 -0
  29. data/bin/yri +16 -0
  30. data/gemfiles/.bundle/config +2 -0
  31. data/gemfiles/rails_5.0.gemfile +10 -0
  32. data/gemfiles/rails_5.1.gemfile +10 -0
  33. data/gemfiles/rails_5.2.gemfile +9 -0
  34. data/gemfiles/rails_6.0.gemfile +9 -0
  35. data/gemfiles/rails_6.1.gemfile +9 -0
  36. data/gemfiles/rails_7.0.gemfile +9 -0
  37. data/lib/acl9/controller_extensions/dsl_base.rb +212 -0
  38. data/lib/acl9/controller_extensions/generators.rb +166 -0
  39. data/lib/acl9/controller_extensions.rb +85 -0
  40. data/lib/acl9/helpers.rb +49 -0
  41. data/lib/acl9/model_extensions/for_object.rb +74 -0
  42. data/lib/acl9/model_extensions/for_subject.rb +232 -0
  43. data/lib/acl9/model_extensions.rb +136 -0
  44. data/lib/acl9/prepositions.rb +18 -0
  45. data/lib/acl9/version.rb +3 -0
  46. data/lib/acl9.rb +78 -0
  47. data/lib/generators/acl9/setup/USAGE +35 -0
  48. data/lib/generators/acl9/setup/setup_generator.rb +122 -0
  49. data/lib/generators/acl9/setup/templates/create_role_tables.rb +31 -0
  50. data/lib/generators/acl9/setup/templates/role.rb +3 -0
  51. data/test/config_test.rb +55 -0
  52. data/test/controller_extensions/actions_test.rb +199 -0
  53. data/test/controller_extensions/anon_test.rb +39 -0
  54. data/test/controller_extensions/base.rb +96 -0
  55. data/test/controller_extensions/basics_test.rb +44 -0
  56. data/test/controller_extensions/conditions_test.rb +48 -0
  57. data/test/controller_extensions/method_test.rb +70 -0
  58. data/test/controller_extensions/multi_match_test.rb +142 -0
  59. data/test/controller_extensions/multiple_role_arguments_test.rb +136 -0
  60. data/test/controller_extensions/prepositions_test.rb +108 -0
  61. data/test/controller_extensions/pseudo_role_test.rb +26 -0
  62. data/test/controller_extensions/role_test.rb +75 -0
  63. data/test/controllers/acl_action_override_test.rb +24 -0
  64. data/test/controllers/acl_arguments_test.rb +5 -0
  65. data/test/controllers/acl_block_test.rb +5 -0
  66. data/test/controllers/acl_boolean_method_test.rb +5 -0
  67. data/test/controllers/acl_helper_method_test.rb +29 -0
  68. data/test/controllers/acl_ivars_test.rb +15 -0
  69. data/test/controllers/acl_method2_test.rb +6 -0
  70. data/test/controllers/acl_method_test.rb +6 -0
  71. data/test/controllers/acl_object_hash_test.rb +18 -0
  72. data/test/controllers/acl_query_method_named_test.rb +9 -0
  73. data/test/controllers/acl_query_method_test.rb +9 -0
  74. data/test/controllers/acl_query_method_with_lambda_test.rb +9 -0
  75. data/test/controllers/acl_query_mixin.rb +54 -0
  76. data/test/controllers/acl_subject_method_test.rb +15 -0
  77. data/test/controllers/arguments_checking_test.rb +43 -0
  78. data/test/dummy/app/assets/config/manifest.js +0 -0
  79. data/test/dummy/app/controllers/acl_action_override.rb +15 -0
  80. data/test/dummy/app/controllers/acl_arguments.rb +10 -0
  81. data/test/dummy/app/controllers/acl_block.rb +6 -0
  82. data/test/dummy/app/controllers/acl_boolean_method.rb +23 -0
  83. data/test/dummy/app/controllers/acl_helper_method.rb +11 -0
  84. data/test/dummy/app/controllers/acl_ivars.rb +17 -0
  85. data/test/dummy/app/controllers/acl_method.rb +6 -0
  86. data/test/dummy/app/controllers/acl_method2.rb +6 -0
  87. data/test/dummy/app/controllers/acl_objects_hash.rb +10 -0
  88. data/test/dummy/app/controllers/acl_query_method.rb +9 -0
  89. data/test/dummy/app/controllers/acl_query_method_named.rb +15 -0
  90. data/test/dummy/app/controllers/acl_query_method_with_lambda.rb +9 -0
  91. data/test/dummy/app/controllers/acl_subject_method.rb +16 -0
  92. data/test/dummy/app/controllers/application_controller.rb +13 -0
  93. data/test/dummy/app/controllers/empty_controller.rb +5 -0
  94. data/test/dummy/app/helpers/application_helper.rb +2 -0
  95. data/test/dummy/app/helpers/some_helper.rb +8 -0
  96. data/test/dummy/app/models/.keep +0 -0
  97. data/test/dummy/app/models/access.rb +3 -0
  98. data/test/dummy/app/models/account.rb +3 -0
  99. data/test/dummy/app/models/bar.rb +3 -0
  100. data/test/dummy/app/models/concerns/.keep +0 -0
  101. data/test/dummy/app/models/foo.rb +3 -0
  102. data/test/dummy/app/models/foo_bar.rb +3 -0
  103. data/test/dummy/app/models/other/foo.rb +5 -0
  104. data/test/dummy/app/models/other/role.rb +5 -0
  105. data/test/dummy/app/models/other/user.rb +5 -0
  106. data/test/dummy/app/models/role.rb +3 -0
  107. data/test/dummy/app/models/string_object_role.rb +3 -0
  108. data/test/dummy/app/models/string_user.rb +3 -0
  109. data/test/dummy/app/models/user.rb +3 -0
  110. data/test/dummy/app/models/uuid.rb +4 -0
  111. data/test/dummy/config/application.rb +23 -0
  112. data/test/dummy/config/boot.rb +4 -0
  113. data/test/dummy/config/database.yml +25 -0
  114. data/test/dummy/config/environment.rb +5 -0
  115. data/test/dummy/config/environments/development.rb +37 -0
  116. data/test/dummy/config/environments/test.rb +40 -0
  117. data/test/dummy/config/initializers/assets.rb +8 -0
  118. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  119. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  120. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  121. data/test/dummy/config/initializers/inflections.rb +16 -0
  122. data/test/dummy/config/initializers/mime_types.rb +4 -0
  123. data/test/dummy/config/initializers/secrets.rb +1 -0
  124. data/test/dummy/config/initializers/session_store.rb +3 -0
  125. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  126. data/test/dummy/config/locales/en.yml +23 -0
  127. data/test/dummy/config/routes.rb +14 -0
  128. data/test/dummy/config.ru +4 -0
  129. data/test/dummy/db/migrate/20141117132218_create_tables.rb +149 -0
  130. data/test/helpers/helper_test.rb +89 -0
  131. data/test/models/roles_test.rb +369 -0
  132. data/test/models/roles_with_custom_association_names_test.rb +28 -0
  133. data/test/models/roles_with_custom_class_names_test.rb +28 -0
  134. data/test/models/system_roles_test.rb +22 -0
  135. data/test/models/users_roles_and_subjects_with_namespaced_class_names_test.rb +30 -0
  136. data/test/test_helper.rb +94 -0
  137. data/test/version_test.rb +7 -0
  138. metadata +321 -0
metadata ADDED
@@ -0,0 +1,321 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: careacademy-acl9
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.3.0
5
+ platform: ruby
6
+ authors:
7
+ - oleg dashevskii
8
+ - Jason King
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2023-11-09 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">"
19
+ - !ruby/object:Gem::Version
20
+ version: '5.0'
21
+ - - "<"
22
+ - !ruby/object:Gem::Version
23
+ version: '8.0'
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - ">"
29
+ - !ruby/object:Gem::Version
30
+ version: '5.0'
31
+ - - "<"
32
+ - !ruby/object:Gem::Version
33
+ version: '8.0'
34
+ - !ruby/object:Gem::Dependency
35
+ name: yard
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ type: :development
42
+ prerelease: false
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ - !ruby/object:Gem::Dependency
49
+ name: sqlite3
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ description: Role-based authorization system for Rails with a concise DSL for securing
63
+ your Rails application. Acl9 makes it easy to get security right for your app, the
64
+ access control code sits right in your controller, the syntax is very easy to understand,
65
+ and acl9 makes it easy to test your access rules.
66
+ email:
67
+ - olegdashevskii@gmail.com
68
+ - jk@handle.it
69
+ executables: []
70
+ extensions: []
71
+ extra_rdoc_files: []
72
+ files:
73
+ - ".gitignore"
74
+ - ".ruby-version"
75
+ - ".travis.yml"
76
+ - Appraisals
77
+ - CHANGELOG.md
78
+ - CONTRIBUTING.md
79
+ - Gemfile
80
+ - Gemfile.lock
81
+ - LICENSE
82
+ - MIT-LICENSE
83
+ - README.md
84
+ - Rakefile
85
+ - TODO
86
+ - acl9.gemspec
87
+ - bin/appraisal
88
+ - bin/bundler
89
+ - bin/cc-tddium-post-worker
90
+ - bin/erubis
91
+ - bin/rackup
92
+ - bin/rails
93
+ - bin/rake
94
+ - bin/sprockets
95
+ - bin/tapout
96
+ - bin/thor
97
+ - bin/tilt
98
+ - bin/yard
99
+ - bin/yardoc
100
+ - bin/yri
101
+ - gemfiles/.bundle/config
102
+ - gemfiles/rails_5.0.gemfile
103
+ - gemfiles/rails_5.1.gemfile
104
+ - gemfiles/rails_5.2.gemfile
105
+ - gemfiles/rails_6.0.gemfile
106
+ - gemfiles/rails_6.1.gemfile
107
+ - gemfiles/rails_7.0.gemfile
108
+ - lib/acl9.rb
109
+ - lib/acl9/controller_extensions.rb
110
+ - lib/acl9/controller_extensions/dsl_base.rb
111
+ - lib/acl9/controller_extensions/generators.rb
112
+ - lib/acl9/helpers.rb
113
+ - lib/acl9/model_extensions.rb
114
+ - lib/acl9/model_extensions/for_object.rb
115
+ - lib/acl9/model_extensions/for_subject.rb
116
+ - lib/acl9/prepositions.rb
117
+ - lib/acl9/version.rb
118
+ - lib/generators/acl9/setup/USAGE
119
+ - lib/generators/acl9/setup/setup_generator.rb
120
+ - lib/generators/acl9/setup/templates/create_role_tables.rb
121
+ - lib/generators/acl9/setup/templates/role.rb
122
+ - test/config_test.rb
123
+ - test/controller_extensions/actions_test.rb
124
+ - test/controller_extensions/anon_test.rb
125
+ - test/controller_extensions/base.rb
126
+ - test/controller_extensions/basics_test.rb
127
+ - test/controller_extensions/conditions_test.rb
128
+ - test/controller_extensions/method_test.rb
129
+ - test/controller_extensions/multi_match_test.rb
130
+ - test/controller_extensions/multiple_role_arguments_test.rb
131
+ - test/controller_extensions/prepositions_test.rb
132
+ - test/controller_extensions/pseudo_role_test.rb
133
+ - test/controller_extensions/role_test.rb
134
+ - test/controllers/acl_action_override_test.rb
135
+ - test/controllers/acl_arguments_test.rb
136
+ - test/controllers/acl_block_test.rb
137
+ - test/controllers/acl_boolean_method_test.rb
138
+ - test/controllers/acl_helper_method_test.rb
139
+ - test/controllers/acl_ivars_test.rb
140
+ - test/controllers/acl_method2_test.rb
141
+ - test/controllers/acl_method_test.rb
142
+ - test/controllers/acl_object_hash_test.rb
143
+ - test/controllers/acl_query_method_named_test.rb
144
+ - test/controllers/acl_query_method_test.rb
145
+ - test/controllers/acl_query_method_with_lambda_test.rb
146
+ - test/controllers/acl_query_mixin.rb
147
+ - test/controllers/acl_subject_method_test.rb
148
+ - test/controllers/arguments_checking_test.rb
149
+ - test/dummy/app/assets/config/manifest.js
150
+ - test/dummy/app/controllers/acl_action_override.rb
151
+ - test/dummy/app/controllers/acl_arguments.rb
152
+ - test/dummy/app/controllers/acl_block.rb
153
+ - test/dummy/app/controllers/acl_boolean_method.rb
154
+ - test/dummy/app/controllers/acl_helper_method.rb
155
+ - test/dummy/app/controllers/acl_ivars.rb
156
+ - test/dummy/app/controllers/acl_method.rb
157
+ - test/dummy/app/controllers/acl_method2.rb
158
+ - test/dummy/app/controllers/acl_objects_hash.rb
159
+ - test/dummy/app/controllers/acl_query_method.rb
160
+ - test/dummy/app/controllers/acl_query_method_named.rb
161
+ - test/dummy/app/controllers/acl_query_method_with_lambda.rb
162
+ - test/dummy/app/controllers/acl_subject_method.rb
163
+ - test/dummy/app/controllers/application_controller.rb
164
+ - test/dummy/app/controllers/empty_controller.rb
165
+ - test/dummy/app/helpers/application_helper.rb
166
+ - test/dummy/app/helpers/some_helper.rb
167
+ - test/dummy/app/models/.keep
168
+ - test/dummy/app/models/access.rb
169
+ - test/dummy/app/models/account.rb
170
+ - test/dummy/app/models/bar.rb
171
+ - test/dummy/app/models/concerns/.keep
172
+ - test/dummy/app/models/foo.rb
173
+ - test/dummy/app/models/foo_bar.rb
174
+ - test/dummy/app/models/other/foo.rb
175
+ - test/dummy/app/models/other/role.rb
176
+ - test/dummy/app/models/other/user.rb
177
+ - test/dummy/app/models/role.rb
178
+ - test/dummy/app/models/string_object_role.rb
179
+ - test/dummy/app/models/string_user.rb
180
+ - test/dummy/app/models/user.rb
181
+ - test/dummy/app/models/uuid.rb
182
+ - test/dummy/config.ru
183
+ - test/dummy/config/application.rb
184
+ - test/dummy/config/boot.rb
185
+ - test/dummy/config/database.yml
186
+ - test/dummy/config/environment.rb
187
+ - test/dummy/config/environments/development.rb
188
+ - test/dummy/config/environments/test.rb
189
+ - test/dummy/config/initializers/assets.rb
190
+ - test/dummy/config/initializers/backtrace_silencers.rb
191
+ - test/dummy/config/initializers/cookies_serializer.rb
192
+ - test/dummy/config/initializers/filter_parameter_logging.rb
193
+ - test/dummy/config/initializers/inflections.rb
194
+ - test/dummy/config/initializers/mime_types.rb
195
+ - test/dummy/config/initializers/secrets.rb
196
+ - test/dummy/config/initializers/session_store.rb
197
+ - test/dummy/config/initializers/wrap_parameters.rb
198
+ - test/dummy/config/locales/en.yml
199
+ - test/dummy/config/routes.rb
200
+ - test/dummy/db/migrate/20141117132218_create_tables.rb
201
+ - test/helpers/helper_test.rb
202
+ - test/models/roles_test.rb
203
+ - test/models/roles_with_custom_association_names_test.rb
204
+ - test/models/roles_with_custom_class_names_test.rb
205
+ - test/models/system_roles_test.rb
206
+ - test/models/users_roles_and_subjects_with_namespaced_class_names_test.rb
207
+ - test/test_helper.rb
208
+ - test/version_test.rb
209
+ homepage: http://github.com/careacademy/acl9
210
+ licenses:
211
+ - MIT
212
+ metadata: {}
213
+ post_install_message:
214
+ rdoc_options:
215
+ - "--charset=UTF-8"
216
+ require_paths:
217
+ - lib
218
+ required_ruby_version: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '2'
223
+ required_rubygems_version: !ruby/object:Gem::Requirement
224
+ requirements:
225
+ - - ">="
226
+ - !ruby/object:Gem::Version
227
+ version: '0'
228
+ requirements: []
229
+ rubygems_version: 3.2.33
230
+ signing_key:
231
+ specification_version: 4
232
+ summary: Role-based authorization system for Rails with a concise DSL for securing
233
+ your Rails application.
234
+ test_files:
235
+ - test/config_test.rb
236
+ - test/controller_extensions/actions_test.rb
237
+ - test/controller_extensions/anon_test.rb
238
+ - test/controller_extensions/base.rb
239
+ - test/controller_extensions/basics_test.rb
240
+ - test/controller_extensions/conditions_test.rb
241
+ - test/controller_extensions/method_test.rb
242
+ - test/controller_extensions/multi_match_test.rb
243
+ - test/controller_extensions/multiple_role_arguments_test.rb
244
+ - test/controller_extensions/prepositions_test.rb
245
+ - test/controller_extensions/pseudo_role_test.rb
246
+ - test/controller_extensions/role_test.rb
247
+ - test/controllers/acl_action_override_test.rb
248
+ - test/controllers/acl_arguments_test.rb
249
+ - test/controllers/acl_block_test.rb
250
+ - test/controllers/acl_boolean_method_test.rb
251
+ - test/controllers/acl_helper_method_test.rb
252
+ - test/controllers/acl_ivars_test.rb
253
+ - test/controllers/acl_method2_test.rb
254
+ - test/controllers/acl_method_test.rb
255
+ - test/controllers/acl_object_hash_test.rb
256
+ - test/controllers/acl_query_method_named_test.rb
257
+ - test/controllers/acl_query_method_test.rb
258
+ - test/controllers/acl_query_method_with_lambda_test.rb
259
+ - test/controllers/acl_query_mixin.rb
260
+ - test/controllers/acl_subject_method_test.rb
261
+ - test/controllers/arguments_checking_test.rb
262
+ - test/dummy/app/assets/config/manifest.js
263
+ - test/dummy/app/controllers/acl_action_override.rb
264
+ - test/dummy/app/controllers/acl_arguments.rb
265
+ - test/dummy/app/controllers/acl_block.rb
266
+ - test/dummy/app/controllers/acl_boolean_method.rb
267
+ - test/dummy/app/controllers/acl_helper_method.rb
268
+ - test/dummy/app/controllers/acl_ivars.rb
269
+ - test/dummy/app/controllers/acl_method.rb
270
+ - test/dummy/app/controllers/acl_method2.rb
271
+ - test/dummy/app/controllers/acl_objects_hash.rb
272
+ - test/dummy/app/controllers/acl_query_method.rb
273
+ - test/dummy/app/controllers/acl_query_method_named.rb
274
+ - test/dummy/app/controllers/acl_query_method_with_lambda.rb
275
+ - test/dummy/app/controllers/acl_subject_method.rb
276
+ - test/dummy/app/controllers/application_controller.rb
277
+ - test/dummy/app/controllers/empty_controller.rb
278
+ - test/dummy/app/helpers/application_helper.rb
279
+ - test/dummy/app/helpers/some_helper.rb
280
+ - test/dummy/app/models/.keep
281
+ - test/dummy/app/models/access.rb
282
+ - test/dummy/app/models/account.rb
283
+ - test/dummy/app/models/bar.rb
284
+ - test/dummy/app/models/concerns/.keep
285
+ - test/dummy/app/models/foo.rb
286
+ - test/dummy/app/models/foo_bar.rb
287
+ - test/dummy/app/models/other/foo.rb
288
+ - test/dummy/app/models/other/role.rb
289
+ - test/dummy/app/models/other/user.rb
290
+ - test/dummy/app/models/role.rb
291
+ - test/dummy/app/models/string_object_role.rb
292
+ - test/dummy/app/models/string_user.rb
293
+ - test/dummy/app/models/user.rb
294
+ - test/dummy/app/models/uuid.rb
295
+ - test/dummy/config.ru
296
+ - test/dummy/config/application.rb
297
+ - test/dummy/config/boot.rb
298
+ - test/dummy/config/database.yml
299
+ - test/dummy/config/environment.rb
300
+ - test/dummy/config/environments/development.rb
301
+ - test/dummy/config/environments/test.rb
302
+ - test/dummy/config/initializers/assets.rb
303
+ - test/dummy/config/initializers/backtrace_silencers.rb
304
+ - test/dummy/config/initializers/cookies_serializer.rb
305
+ - test/dummy/config/initializers/filter_parameter_logging.rb
306
+ - test/dummy/config/initializers/inflections.rb
307
+ - test/dummy/config/initializers/mime_types.rb
308
+ - test/dummy/config/initializers/secrets.rb
309
+ - test/dummy/config/initializers/session_store.rb
310
+ - test/dummy/config/initializers/wrap_parameters.rb
311
+ - test/dummy/config/locales/en.yml
312
+ - test/dummy/config/routes.rb
313
+ - test/dummy/db/migrate/20141117132218_create_tables.rb
314
+ - test/helpers/helper_test.rb
315
+ - test/models/roles_test.rb
316
+ - test/models/roles_with_custom_association_names_test.rb
317
+ - test/models/roles_with_custom_class_names_test.rb
318
+ - test/models/system_roles_test.rb
319
+ - test/models/users_roles_and_subjects_with_namespaced_class_names_test.rb
320
+ - test/test_helper.rb
321
+ - test/version_test.rb