access_policy_rails 0.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.
Files changed (69) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +2 -0
  3. data/.travis.yml +6 -0
  4. data/Gemfile +7 -0
  5. data/Guardfile +25 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +71 -0
  8. data/Rakefile +14 -0
  9. data/access_policy_rails.gemspec +48 -0
  10. data/lib/access_policy_rails/change_storage_scope.rb +15 -0
  11. data/lib/access_policy_rails/controller_extensions.rb +69 -0
  12. data/lib/access_policy_rails/policy_wrapper.rb +11 -0
  13. data/lib/access_policy_rails/railtie.rb +11 -0
  14. data/lib/access_policy_rails/request_local_storage.rb +12 -0
  15. data/lib/access_policy_rails/version.rb +3 -0
  16. data/lib/access_policy_rails.rb +13 -0
  17. data/spec/acceptance/dummy/README.rdoc +28 -0
  18. data/spec/acceptance/dummy/Rakefile +6 -0
  19. data/spec/acceptance/dummy/app/assets/images/.keep +0 -0
  20. data/spec/acceptance/dummy/app/assets/javascripts/application.js +13 -0
  21. data/spec/acceptance/dummy/app/assets/stylesheets/application.css +13 -0
  22. data/spec/acceptance/dummy/app/controllers/application_controller.rb +5 -0
  23. data/spec/acceptance/dummy/app/controllers/concerns/.keep +0 -0
  24. data/spec/acceptance/dummy/app/helpers/application_helper.rb +2 -0
  25. data/spec/acceptance/dummy/app/mailers/.keep +0 -0
  26. data/spec/acceptance/dummy/app/models/.keep +0 -0
  27. data/spec/acceptance/dummy/app/models/concerns/.keep +0 -0
  28. data/spec/acceptance/dummy/app/views/layouts/application.html.erb +14 -0
  29. data/spec/acceptance/dummy/bin/bundle +3 -0
  30. data/spec/acceptance/dummy/bin/rails +4 -0
  31. data/spec/acceptance/dummy/bin/rake +4 -0
  32. data/spec/acceptance/dummy/config/application.rb +28 -0
  33. data/spec/acceptance/dummy/config/boot.rb +5 -0
  34. data/spec/acceptance/dummy/config/environment.rb +5 -0
  35. data/spec/acceptance/dummy/config/environments/development.rb +27 -0
  36. data/spec/acceptance/dummy/config/environments/production.rb +80 -0
  37. data/spec/acceptance/dummy/config/environments/test.rb +36 -0
  38. data/spec/acceptance/dummy/config/initializers/backtrace_silencers.rb +7 -0
  39. data/spec/acceptance/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  40. data/spec/acceptance/dummy/config/initializers/inflections.rb +16 -0
  41. data/spec/acceptance/dummy/config/initializers/mime_types.rb +5 -0
  42. data/spec/acceptance/dummy/config/initializers/secret_token.rb +12 -0
  43. data/spec/acceptance/dummy/config/initializers/session_store.rb +3 -0
  44. data/spec/acceptance/dummy/config/initializers/wrap_parameters.rb +9 -0
  45. data/spec/acceptance/dummy/config/locales/en.yml +23 -0
  46. data/spec/acceptance/dummy/config/routes.rb +56 -0
  47. data/spec/acceptance/dummy/config.ru +4 -0
  48. data/spec/acceptance/dummy/lib/assets/.keep +0 -0
  49. data/spec/acceptance/dummy/log/.keep +0 -0
  50. data/spec/acceptance/dummy/log/test.log +0 -0
  51. data/spec/acceptance/dummy/public/404.html +58 -0
  52. data/spec/acceptance/dummy/public/422.html +58 -0
  53. data/spec/acceptance/dummy/public/500.html +57 -0
  54. data/spec/acceptance/dummy/public/favicon.ico +0 -0
  55. data/spec/acceptance/enables_permission_query_spec.rb +49 -0
  56. data/spec/acceptance/enforce_authorize_outside_of_action_spec.rb +67 -0
  57. data/spec/acceptance/protect_controller_actions_spec.rb +25 -0
  58. data/spec/acceptance/support/dummy_controller.rb +13 -0
  59. data/spec/acceptance/support/dummy_controller_policy.rb +11 -0
  60. data/spec/acceptance/support/feature.rb +30 -0
  61. data/spec/acceptance/use_different_user_for_policy_checks_spec.rb +40 -0
  62. data/spec/acceptance_spec_helper.rb +12 -0
  63. data/spec/spec_helper.rb +42 -0
  64. data/spec/support/base_controller_dummy.rb +26 -0
  65. data/spec/unit/lib/access_policy_rails/controller_extensions_spec.rb +89 -0
  66. data/spec/unit/lib/access_policy_rails/policy_wrapper_spec.rb +20 -0
  67. data/spec/unit/lib/access_policy_rails/request_local_storage_spec.rb +52 -0
  68. data/spec/unit_spec_helper.rb +1 -0
  69. metadata +387 -0
@@ -0,0 +1,26 @@
1
+ class BaseControllerDummy
2
+ def self.hide_action(method)
3
+ @hidden_actions ||= []
4
+ @hidden_actions << method
5
+ end
6
+
7
+ def self.helper_method(*)
8
+
9
+ end
10
+
11
+ def self.hidden_actions
12
+ @hidden_actions
13
+ end
14
+
15
+ def self.policy_class
16
+ Struct.new(:current_user, :controller) do
17
+ def create?
18
+ current_user && current_user.create_allowed?
19
+ end
20
+
21
+ def show?
22
+ current_user && current_user.show_allowed?
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,89 @@
1
+ require 'unit_spec_helper'
2
+
3
+ module AccessPolicyRails
4
+ describe ControllerExtensions do
5
+
6
+ subject{
7
+ Class.new(BaseControllerDummy) do
8
+ include ControllerExtensions
9
+
10
+ attr_accessor :current_user
11
+
12
+ def initialize(current_user=nil)
13
+ self.current_user = current_user
14
+ end
15
+
16
+ guarded_action :create do
17
+
18
+ end
19
+
20
+ guarded_action :show do
21
+
22
+ end
23
+
24
+ end
25
+ }
26
+
27
+ let(:user){
28
+ double('user', create_allowed?: false, show_allowed?: true)
29
+ }
30
+
31
+
32
+ describe '.include' do
33
+ it 'sets the storage to request local' do
34
+ expect(subject.new._scope_storage).to be AccessPolicyRails::RequestLocalStorage
35
+ end
36
+ end
37
+
38
+ describe '.guarded_action' do
39
+ it 'creates a guarded method' do
40
+ expect(subject.new).to respond_to :create
41
+ expect(subject.hidden_actions).to include :create_with_guard
42
+ expect(subject.hidden_actions).to include :create_with_guard_unsafe
43
+ end
44
+
45
+ it 'protects access to guarded methods' do
46
+ expect{subject.new(user).create}.to raise_error AccessPolicy::NotAuthorizedError
47
+ expect{subject.new(user).show}.not_to raise_error
48
+ end
49
+
50
+ it 'skips action authorization when wanted' do
51
+ controller = Class.new(subject) do
52
+
53
+ guarded_action :update, authorize_action: false do
54
+ authorize(self,'show')
55
+ end
56
+ end.new(user)
57
+
58
+ expect{controller.update}.not_to raise_error
59
+ end
60
+
61
+ end
62
+
63
+ describe '#policy_check_user' do
64
+ let(:user_without_rights){
65
+ double('user', create_allowed?: false, show_allowed?: false)
66
+ }
67
+
68
+ it 'uses the current_user as default' do
69
+ expect(subject.new(user).policy_check_user).to eq user
70
+ end
71
+
72
+ it 'is used for policy checks' do
73
+ controller = subject.new(user)
74
+ def controller.policy_check_user
75
+ user_without_rights
76
+ end
77
+
78
+ expect{controller.show}.to raise_error
79
+ end
80
+
81
+ end
82
+
83
+ describe '#policy_for' do
84
+ it 'returns a wrapped policy' do
85
+ expect(subject.new(user).policy_for).to be_kind_of PolicyWrapper
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,20 @@
1
+ require 'unit_spec_helper'
2
+
3
+ module AccessPolicyRails
4
+ describe PolicyWrapper do
5
+ subject{
6
+ PolicyWrapper.new(policy)
7
+ }
8
+
9
+ let(:policy){
10
+ double('policy', create?: true)
11
+ }
12
+
13
+ describe '#allow?'do
14
+ it 'delegates to the policy object' do
15
+ expect(subject.allow?(:create)).to be_truthy
16
+ end
17
+ end
18
+
19
+ end
20
+ end
@@ -0,0 +1,52 @@
1
+ require 'spec_helper'
2
+
3
+ module AccessPolicyRails
4
+ describe RequestLocalStorage do
5
+ subject {
6
+ RequestLocalStorage
7
+ }
8
+
9
+ let(:storage) {
10
+ subject.for
11
+ }
12
+
13
+ describe '.for' do
14
+ it 'creates a new object for every thread' do
15
+ subject.for
16
+
17
+ threat_one_object_id = nil
18
+ threat_two_object_id = nil
19
+ threats = []
20
+
21
+ threats << Thread.new {
22
+ threat_one_object_id = RequestLocalStorage.for
23
+ }
24
+
25
+ threats << Thread.new {
26
+ threat_two_object_id = RequestLocalStorage.for
27
+ }
28
+
29
+ threats.each &:join
30
+
31
+ expect(threat_one_object_id).not_to eq threat_two_object_id
32
+ end
33
+
34
+ it 'supports naming different scopes' do
35
+ second_scope = subject.for 'the second scope'
36
+ expect(second_scope.object_id).not_to be subject.for.object_id
37
+ end
38
+ end
39
+
40
+ it 'supports hash like accessors' do
41
+ storage['key'] = 1
42
+ expect(storage['key']).to eq 1
43
+ expect(storage.fetch 'key').to eq 1
44
+
45
+ storage.clear!
46
+
47
+ expect(storage['key']).to be_nil
48
+
49
+ end
50
+
51
+ end
52
+ end
@@ -0,0 +1 @@
1
+ require 'spec_helper'
metadata ADDED
@@ -0,0 +1,387 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: access_policy_rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Dieter Späth
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-02-12 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: access_policy
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: request_store
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: activesupport
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '4.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '4.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.5'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.5'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rails
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 4.0.1
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 4.0.1
97
+ - !ruby/object:Gem::Dependency
98
+ name: rspec-rails
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '='
102
+ - !ruby/object:Gem::Version
103
+ version: 2.99.0.beta1
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '='
109
+ - !ruby/object:Gem::Version
110
+ version: 2.99.0.beta1
111
+ - !ruby/object:Gem::Dependency
112
+ name: fuubar
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: pry
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: pry-remote
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: guard
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: guard-rspec
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: guard-bundler
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: rb-fsevent
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: pry-stack_explorer
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: pry-debugger
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ description: Object oriented authorization for ruby.
238
+ email:
239
+ - shad0wrunner@gmx.de
240
+ executables: []
241
+ extensions: []
242
+ extra_rdoc_files: []
243
+ files:
244
+ - ".rspec"
245
+ - ".travis.yml"
246
+ - Gemfile
247
+ - Guardfile
248
+ - LICENSE.txt
249
+ - README.md
250
+ - Rakefile
251
+ - access_policy_rails.gemspec
252
+ - lib/access_policy_rails.rb
253
+ - lib/access_policy_rails/change_storage_scope.rb
254
+ - lib/access_policy_rails/controller_extensions.rb
255
+ - lib/access_policy_rails/policy_wrapper.rb
256
+ - lib/access_policy_rails/railtie.rb
257
+ - lib/access_policy_rails/request_local_storage.rb
258
+ - lib/access_policy_rails/version.rb
259
+ - spec/acceptance/dummy/README.rdoc
260
+ - spec/acceptance/dummy/Rakefile
261
+ - spec/acceptance/dummy/app/assets/images/.keep
262
+ - spec/acceptance/dummy/app/assets/javascripts/application.js
263
+ - spec/acceptance/dummy/app/assets/stylesheets/application.css
264
+ - spec/acceptance/dummy/app/controllers/application_controller.rb
265
+ - spec/acceptance/dummy/app/controllers/concerns/.keep
266
+ - spec/acceptance/dummy/app/helpers/application_helper.rb
267
+ - spec/acceptance/dummy/app/mailers/.keep
268
+ - spec/acceptance/dummy/app/models/.keep
269
+ - spec/acceptance/dummy/app/models/concerns/.keep
270
+ - spec/acceptance/dummy/app/views/layouts/application.html.erb
271
+ - spec/acceptance/dummy/bin/bundle
272
+ - spec/acceptance/dummy/bin/rails
273
+ - spec/acceptance/dummy/bin/rake
274
+ - spec/acceptance/dummy/config.ru
275
+ - spec/acceptance/dummy/config/application.rb
276
+ - spec/acceptance/dummy/config/boot.rb
277
+ - spec/acceptance/dummy/config/environment.rb
278
+ - spec/acceptance/dummy/config/environments/development.rb
279
+ - spec/acceptance/dummy/config/environments/production.rb
280
+ - spec/acceptance/dummy/config/environments/test.rb
281
+ - spec/acceptance/dummy/config/initializers/backtrace_silencers.rb
282
+ - spec/acceptance/dummy/config/initializers/filter_parameter_logging.rb
283
+ - spec/acceptance/dummy/config/initializers/inflections.rb
284
+ - spec/acceptance/dummy/config/initializers/mime_types.rb
285
+ - spec/acceptance/dummy/config/initializers/secret_token.rb
286
+ - spec/acceptance/dummy/config/initializers/session_store.rb
287
+ - spec/acceptance/dummy/config/initializers/wrap_parameters.rb
288
+ - spec/acceptance/dummy/config/locales/en.yml
289
+ - spec/acceptance/dummy/config/routes.rb
290
+ - spec/acceptance/dummy/lib/assets/.keep
291
+ - spec/acceptance/dummy/log/.keep
292
+ - spec/acceptance/dummy/log/test.log
293
+ - spec/acceptance/dummy/public/404.html
294
+ - spec/acceptance/dummy/public/422.html
295
+ - spec/acceptance/dummy/public/500.html
296
+ - spec/acceptance/dummy/public/favicon.ico
297
+ - spec/acceptance/enables_permission_query_spec.rb
298
+ - spec/acceptance/enforce_authorize_outside_of_action_spec.rb
299
+ - spec/acceptance/protect_controller_actions_spec.rb
300
+ - spec/acceptance/support/dummy_controller.rb
301
+ - spec/acceptance/support/dummy_controller_policy.rb
302
+ - spec/acceptance/support/feature.rb
303
+ - spec/acceptance/use_different_user_for_policy_checks_spec.rb
304
+ - spec/acceptance_spec_helper.rb
305
+ - spec/spec_helper.rb
306
+ - spec/support/base_controller_dummy.rb
307
+ - spec/unit/lib/access_policy_rails/controller_extensions_spec.rb
308
+ - spec/unit/lib/access_policy_rails/policy_wrapper_spec.rb
309
+ - spec/unit/lib/access_policy_rails/request_local_storage_spec.rb
310
+ - spec/unit_spec_helper.rb
311
+ homepage: ''
312
+ licenses:
313
+ - MIT
314
+ metadata: {}
315
+ post_install_message:
316
+ rdoc_options: []
317
+ require_paths:
318
+ - lib
319
+ required_ruby_version: !ruby/object:Gem::Requirement
320
+ requirements:
321
+ - - ">="
322
+ - !ruby/object:Gem::Version
323
+ version: '0'
324
+ required_rubygems_version: !ruby/object:Gem::Requirement
325
+ requirements:
326
+ - - ">="
327
+ - !ruby/object:Gem::Version
328
+ version: '0'
329
+ requirements: []
330
+ rubyforge_project:
331
+ rubygems_version: 2.2.1
332
+ signing_key:
333
+ specification_version: 4
334
+ summary: Object oriented authorization for ruby.
335
+ test_files:
336
+ - spec/acceptance/dummy/README.rdoc
337
+ - spec/acceptance/dummy/Rakefile
338
+ - spec/acceptance/dummy/app/assets/images/.keep
339
+ - spec/acceptance/dummy/app/assets/javascripts/application.js
340
+ - spec/acceptance/dummy/app/assets/stylesheets/application.css
341
+ - spec/acceptance/dummy/app/controllers/application_controller.rb
342
+ - spec/acceptance/dummy/app/controllers/concerns/.keep
343
+ - spec/acceptance/dummy/app/helpers/application_helper.rb
344
+ - spec/acceptance/dummy/app/mailers/.keep
345
+ - spec/acceptance/dummy/app/models/.keep
346
+ - spec/acceptance/dummy/app/models/concerns/.keep
347
+ - spec/acceptance/dummy/app/views/layouts/application.html.erb
348
+ - spec/acceptance/dummy/bin/bundle
349
+ - spec/acceptance/dummy/bin/rails
350
+ - spec/acceptance/dummy/bin/rake
351
+ - spec/acceptance/dummy/config.ru
352
+ - spec/acceptance/dummy/config/application.rb
353
+ - spec/acceptance/dummy/config/boot.rb
354
+ - spec/acceptance/dummy/config/environment.rb
355
+ - spec/acceptance/dummy/config/environments/development.rb
356
+ - spec/acceptance/dummy/config/environments/production.rb
357
+ - spec/acceptance/dummy/config/environments/test.rb
358
+ - spec/acceptance/dummy/config/initializers/backtrace_silencers.rb
359
+ - spec/acceptance/dummy/config/initializers/filter_parameter_logging.rb
360
+ - spec/acceptance/dummy/config/initializers/inflections.rb
361
+ - spec/acceptance/dummy/config/initializers/mime_types.rb
362
+ - spec/acceptance/dummy/config/initializers/secret_token.rb
363
+ - spec/acceptance/dummy/config/initializers/session_store.rb
364
+ - spec/acceptance/dummy/config/initializers/wrap_parameters.rb
365
+ - spec/acceptance/dummy/config/locales/en.yml
366
+ - spec/acceptance/dummy/config/routes.rb
367
+ - spec/acceptance/dummy/lib/assets/.keep
368
+ - spec/acceptance/dummy/log/.keep
369
+ - spec/acceptance/dummy/log/test.log
370
+ - spec/acceptance/dummy/public/404.html
371
+ - spec/acceptance/dummy/public/422.html
372
+ - spec/acceptance/dummy/public/500.html
373
+ - spec/acceptance/dummy/public/favicon.ico
374
+ - spec/acceptance/enables_permission_query_spec.rb
375
+ - spec/acceptance/enforce_authorize_outside_of_action_spec.rb
376
+ - spec/acceptance/protect_controller_actions_spec.rb
377
+ - spec/acceptance/support/dummy_controller.rb
378
+ - spec/acceptance/support/dummy_controller_policy.rb
379
+ - spec/acceptance/support/feature.rb
380
+ - spec/acceptance/use_different_user_for_policy_checks_spec.rb
381
+ - spec/acceptance_spec_helper.rb
382
+ - spec/spec_helper.rb
383
+ - spec/support/base_controller_dummy.rb
384
+ - spec/unit/lib/access_policy_rails/controller_extensions_spec.rb
385
+ - spec/unit/lib/access_policy_rails/policy_wrapper_spec.rb
386
+ - spec/unit/lib/access_policy_rails/request_local_storage_spec.rb
387
+ - spec/unit_spec_helper.rb