azeroth 0.7.2 → 0.8.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.
- checksums.yaml +4 -4
- data/.circleci/config.yml +2 -2
- data/Dockerfile +1 -1
- data/README.md +4 -1
- data/azeroth.gemspec +28 -26
- data/config/yardstick.yml +1 -0
- data/lib/azeroth.rb +9 -8
- data/lib/azeroth/controller_interface.rb +87 -0
- data/lib/azeroth/decorator.rb +2 -3
- data/lib/azeroth/decorator/method_builder.rb +26 -0
- data/lib/azeroth/options.rb +38 -2
- data/lib/azeroth/request_handler.rb +16 -7
- data/lib/azeroth/request_handler/create.rb +1 -1
- data/lib/azeroth/request_handler/index.rb +78 -0
- data/lib/azeroth/version.rb +1 -1
- data/spec/controllers/documents_controller_spec.rb +1 -1
- data/spec/controllers/documents_with_error_controller_spec.rb +1 -1
- data/spec/controllers/index_documents_controller_spec.rb +12 -1
- data/spec/controllers/paginated_documents_controller_spec.rb +146 -0
- data/spec/dummy/app/controllers/paginated_documents_controller.rb +7 -0
- data/spec/dummy/config/routes.rb +1 -0
- data/spec/lib/azeroth/controller_interface_spec.rb +82 -0
- data/spec/lib/azeroth/decorator/method_builder_spec.rb +23 -0
- data/spec/lib/azeroth/request_handler/create_spec.rb +106 -0
- data/spec/lib/azeroth/request_handler/index_spec.rb +118 -0
- data/spec/lib/azeroth/request_handler_spec.rb +1 -1
- data/spec/spec_helper.rb +2 -0
- data/spec/support/app/controllers/request_handler_controller.rb +5 -0
- data/spec/support/app/workers/worker.rb +5 -0
- data/spec/support/shared_examples/request_handler.rb +6 -1
- metadata +74 -34
data/spec/spec_helper.rb
CHANGED
@@ -18,6 +18,8 @@ require File.expand_path('spec/dummy/db/schema.rb')
|
|
18
18
|
require 'rspec/rails'
|
19
19
|
require 'active_support/railtie'
|
20
20
|
require 'sinclair/matchers'
|
21
|
+
require 'shoulda-matchers'
|
22
|
+
require 'rspec/collection_matchers'
|
21
23
|
|
22
24
|
support_files = File.expand_path('spec/support/**/*.rb')
|
23
25
|
Dir[support_files].sort.each { |file| require file }
|
@@ -19,6 +19,11 @@ class RequestHandlerController < ActionController::Base
|
|
19
19
|
document.reference = 'X-MAGIC-15'
|
20
20
|
end
|
21
21
|
|
22
|
+
def add_magic_reference_and_trigger
|
23
|
+
document.update(reference: 'X-MAGIC-15')
|
24
|
+
Worker.perform(document.id)
|
25
|
+
end
|
26
|
+
|
22
27
|
def build_magic_document
|
23
28
|
documents.where(reference: 'X-MAGIC-15')
|
24
29
|
.build(document_params)
|
@@ -24,8 +24,10 @@ shared_examples 'a request handler' do |status: :ok|
|
|
24
24
|
{ format: format }.merge(extra_params)
|
25
25
|
end
|
26
26
|
|
27
|
+
let(:controller_headers) { {} }
|
28
|
+
|
27
29
|
before do
|
28
|
-
|
30
|
+
create_list(:document, documents_count)
|
29
31
|
|
30
32
|
allow(controller).to receive(:params)
|
31
33
|
.and_return(params)
|
@@ -33,6 +35,9 @@ shared_examples 'a request handler' do |status: :ok|
|
|
33
35
|
allow(controller).to receive(:render)
|
34
36
|
.with(json: expected_json, status: status)
|
35
37
|
.and_return(expected_json)
|
38
|
+
|
39
|
+
allow(controller).to receive(:headers)
|
40
|
+
.and_return(controller_headers)
|
36
41
|
end
|
37
42
|
|
38
43
|
it 'returns all documents json' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: azeroth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Darthjee
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-08-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 5.2.
|
19
|
+
version: 5.2.x
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 5.2.
|
26
|
+
version: 5.2.x
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: darthjee-active_ext
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -58,42 +58,42 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.6.
|
61
|
+
version: 1.6.7
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 1.6.
|
68
|
+
version: 1.6.7
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: actionpack
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 5.2.
|
75
|
+
version: 5.2.x
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 5.2.
|
82
|
+
version: 5.2.x
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: activerecord
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 5.2.
|
89
|
+
version: 5.2.x
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 5.2.
|
96
|
+
version: 5.2.x
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: bundler
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,14 +128,14 @@ dependencies:
|
|
128
128
|
requirements:
|
129
129
|
- - '='
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: 1.
|
131
|
+
version: 1.11.4
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - '='
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: 1.
|
138
|
+
version: 1.11.4
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: pry
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -168,16 +168,16 @@ dependencies:
|
|
168
168
|
name: rails
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
|
-
- -
|
171
|
+
- - "~>"
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version: 5.2.
|
173
|
+
version: 5.2.x
|
174
174
|
type: :development
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
|
-
- -
|
178
|
+
- - "~>"
|
179
179
|
- !ruby/object:Gem::Version
|
180
|
-
version: 5.2.
|
180
|
+
version: 5.2.x
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
182
|
name: rails-controller-testing
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -198,28 +198,28 @@ dependencies:
|
|
198
198
|
requirements:
|
199
199
|
- - '='
|
200
200
|
- !ruby/object:Gem::Version
|
201
|
-
version: 13.0.
|
201
|
+
version: 13.0.3
|
202
202
|
type: :development
|
203
203
|
prerelease: false
|
204
204
|
version_requirements: !ruby/object:Gem::Requirement
|
205
205
|
requirements:
|
206
206
|
- - '='
|
207
207
|
- !ruby/object:Gem::Version
|
208
|
-
version: 13.0.
|
208
|
+
version: 13.0.3
|
209
209
|
- !ruby/object:Gem::Dependency
|
210
210
|
name: reek
|
211
211
|
requirement: !ruby/object:Gem::Requirement
|
212
212
|
requirements:
|
213
213
|
- - '='
|
214
214
|
- !ruby/object:Gem::Version
|
215
|
-
version:
|
215
|
+
version: 6.0.3
|
216
216
|
type: :development
|
217
217
|
prerelease: false
|
218
218
|
version_requirements: !ruby/object:Gem::Requirement
|
219
219
|
requirements:
|
220
220
|
- - '='
|
221
221
|
- !ruby/object:Gem::Version
|
222
|
-
version:
|
222
|
+
version: 6.0.3
|
223
223
|
- !ruby/object:Gem::Dependency
|
224
224
|
name: rspec
|
225
225
|
requirement: !ruby/object:Gem::Requirement
|
@@ -234,34 +234,48 @@ dependencies:
|
|
234
234
|
- - '='
|
235
235
|
- !ruby/object:Gem::Version
|
236
236
|
version: 3.9.0
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
name: rspec-collection_matchers
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - '='
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: 1.2.0
|
244
|
+
type: :development
|
245
|
+
prerelease: false
|
246
|
+
version_requirements: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - '='
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: 1.2.0
|
237
251
|
- !ruby/object:Gem::Dependency
|
238
252
|
name: rspec-core
|
239
253
|
requirement: !ruby/object:Gem::Requirement
|
240
254
|
requirements:
|
241
255
|
- - '='
|
242
256
|
- !ruby/object:Gem::Version
|
243
|
-
version: 3.9.
|
257
|
+
version: 3.9.3
|
244
258
|
type: :development
|
245
259
|
prerelease: false
|
246
260
|
version_requirements: !ruby/object:Gem::Requirement
|
247
261
|
requirements:
|
248
262
|
- - '='
|
249
263
|
- !ruby/object:Gem::Version
|
250
|
-
version: 3.9.
|
264
|
+
version: 3.9.3
|
251
265
|
- !ruby/object:Gem::Dependency
|
252
266
|
name: rspec-expectations
|
253
267
|
requirement: !ruby/object:Gem::Requirement
|
254
268
|
requirements:
|
255
269
|
- - '='
|
256
270
|
- !ruby/object:Gem::Version
|
257
|
-
version: 3.9.
|
271
|
+
version: 3.9.4
|
258
272
|
type: :development
|
259
273
|
prerelease: false
|
260
274
|
version_requirements: !ruby/object:Gem::Requirement
|
261
275
|
requirements:
|
262
276
|
- - '='
|
263
277
|
- !ruby/object:Gem::Version
|
264
|
-
version: 3.9.
|
278
|
+
version: 3.9.4
|
265
279
|
- !ruby/object:Gem::Dependency
|
266
280
|
name: rspec-mocks
|
267
281
|
requirement: !ruby/object:Gem::Requirement
|
@@ -296,14 +310,14 @@ dependencies:
|
|
296
310
|
requirements:
|
297
311
|
- - '='
|
298
312
|
- !ruby/object:Gem::Version
|
299
|
-
version: 3.9.
|
313
|
+
version: 3.9.4
|
300
314
|
type: :development
|
301
315
|
prerelease: false
|
302
316
|
version_requirements: !ruby/object:Gem::Requirement
|
303
317
|
requirements:
|
304
318
|
- - '='
|
305
319
|
- !ruby/object:Gem::Version
|
306
|
-
version: 3.9.
|
320
|
+
version: 3.9.4
|
307
321
|
- !ruby/object:Gem::Dependency
|
308
322
|
name: rubocop
|
309
323
|
requirement: !ruby/object:Gem::Requirement
|
@@ -338,14 +352,28 @@ dependencies:
|
|
338
352
|
requirements:
|
339
353
|
- - '='
|
340
354
|
- !ruby/object:Gem::Version
|
341
|
-
version: 4.
|
355
|
+
version: 4.6.1
|
356
|
+
type: :development
|
357
|
+
prerelease: false
|
358
|
+
version_requirements: !ruby/object:Gem::Requirement
|
359
|
+
requirements:
|
360
|
+
- - '='
|
361
|
+
- !ruby/object:Gem::Version
|
362
|
+
version: 4.6.1
|
363
|
+
- !ruby/object:Gem::Dependency
|
364
|
+
name: shoulda-matchers
|
365
|
+
requirement: !ruby/object:Gem::Requirement
|
366
|
+
requirements:
|
367
|
+
- - '='
|
368
|
+
- !ruby/object:Gem::Version
|
369
|
+
version: 4.3.0
|
342
370
|
type: :development
|
343
371
|
prerelease: false
|
344
372
|
version_requirements: !ruby/object:Gem::Requirement
|
345
373
|
requirements:
|
346
374
|
- - '='
|
347
375
|
- !ruby/object:Gem::Version
|
348
|
-
version: 4.
|
376
|
+
version: 4.3.0
|
349
377
|
- !ruby/object:Gem::Dependency
|
350
378
|
name: simplecov
|
351
379
|
requirement: !ruby/object:Gem::Requirement
|
@@ -380,14 +408,14 @@ dependencies:
|
|
380
408
|
requirements:
|
381
409
|
- - '='
|
382
410
|
- !ruby/object:Gem::Version
|
383
|
-
version: 0.9.
|
411
|
+
version: 0.9.26
|
384
412
|
type: :development
|
385
413
|
prerelease: false
|
386
414
|
version_requirements: !ruby/object:Gem::Requirement
|
387
415
|
requirements:
|
388
416
|
- - '='
|
389
417
|
- !ruby/object:Gem::Version
|
390
|
-
version: 0.9.
|
418
|
+
version: 0.9.26
|
391
419
|
- !ruby/object:Gem::Dependency
|
392
420
|
name: yardstick
|
393
421
|
requirement: !ruby/object:Gem::Requirement
|
@@ -428,9 +456,11 @@ files:
|
|
428
456
|
- config/yardstick.yml
|
429
457
|
- docker-compose.yml
|
430
458
|
- lib/azeroth.rb
|
459
|
+
- lib/azeroth/controller_interface.rb
|
431
460
|
- lib/azeroth/decorator.rb
|
432
461
|
- lib/azeroth/decorator/hash_builder.rb
|
433
462
|
- lib/azeroth/decorator/key_value_extractor.rb
|
463
|
+
- lib/azeroth/decorator/method_builder.rb
|
434
464
|
- lib/azeroth/decorator/options.rb
|
435
465
|
- lib/azeroth/dummy_decorator.rb
|
436
466
|
- lib/azeroth/model.rb
|
@@ -452,6 +482,7 @@ files:
|
|
452
482
|
- spec/controllers/documents_controller_spec.rb
|
453
483
|
- spec/controllers/documents_with_error_controller_spec.rb
|
454
484
|
- spec/controllers/index_documents_controller_spec.rb
|
485
|
+
- spec/controllers/paginated_documents_controller_spec.rb
|
455
486
|
- spec/controllers/pokemon_masters_controller_spec.rb
|
456
487
|
- spec/controllers/pokemons_controller_spec.rb
|
457
488
|
- spec/dummy/.ruby-version
|
@@ -470,6 +501,7 @@ files:
|
|
470
501
|
- spec/dummy/app/controllers/documents_with_error_controller.rb
|
471
502
|
- spec/dummy/app/controllers/games_controller.rb
|
472
503
|
- spec/dummy/app/controllers/index_documents_controller.rb
|
504
|
+
- spec/dummy/app/controllers/paginated_documents_controller.rb
|
473
505
|
- spec/dummy/app/controllers/pokemon_masters_controller.rb
|
474
506
|
- spec/dummy/app/controllers/pokemons_controller.rb
|
475
507
|
- spec/dummy/app/controllers/publishers_controller.rb
|
@@ -552,8 +584,10 @@ files:
|
|
552
584
|
- spec/integration/readme/controllers/games_controller_spec.rb
|
553
585
|
- spec/integration/yard/azeroth/decorator_spec.rb
|
554
586
|
- spec/integration/yard/controllers/games_controller_spec.rb
|
587
|
+
- spec/lib/azeroth/controller_interface_spec.rb
|
555
588
|
- spec/lib/azeroth/decorator/hash_builder_spec.rb
|
556
589
|
- spec/lib/azeroth/decorator/key_value_extractor_spec.rb
|
590
|
+
- spec/lib/azeroth/decorator/method_builder_spec.rb
|
557
591
|
- spec/lib/azeroth/decorator_spec.rb
|
558
592
|
- spec/lib/azeroth/dummy_decorator_spec.rb
|
559
593
|
- spec/lib/azeroth/model_spec.rb
|
@@ -574,6 +608,7 @@ files:
|
|
574
608
|
- spec/support/app/controllers/request_handler_controller.rb
|
575
609
|
- spec/support/app/controllers/resource_builder_controller.rb
|
576
610
|
- spec/support/app/controllers/resource_route_builder_controller.rb
|
611
|
+
- spec/support/app/workers/worker.rb
|
577
612
|
- spec/support/factories/document.rb
|
578
613
|
- spec/support/factories/dummy_model.rb
|
579
614
|
- spec/support/factories/factory.rb
|
@@ -613,6 +648,7 @@ test_files:
|
|
613
648
|
- spec/controllers/documents_controller_spec.rb
|
614
649
|
- spec/controllers/documents_with_error_controller_spec.rb
|
615
650
|
- spec/controllers/index_documents_controller_spec.rb
|
651
|
+
- spec/controllers/paginated_documents_controller_spec.rb
|
616
652
|
- spec/controllers/pokemon_masters_controller_spec.rb
|
617
653
|
- spec/controllers/pokemons_controller_spec.rb
|
618
654
|
- spec/dummy/.ruby-version
|
@@ -631,6 +667,7 @@ test_files:
|
|
631
667
|
- spec/dummy/app/controllers/documents_with_error_controller.rb
|
632
668
|
- spec/dummy/app/controllers/games_controller.rb
|
633
669
|
- spec/dummy/app/controllers/index_documents_controller.rb
|
670
|
+
- spec/dummy/app/controllers/paginated_documents_controller.rb
|
634
671
|
- spec/dummy/app/controllers/pokemon_masters_controller.rb
|
635
672
|
- spec/dummy/app/controllers/pokemons_controller.rb
|
636
673
|
- spec/dummy/app/controllers/publishers_controller.rb
|
@@ -713,8 +750,10 @@ test_files:
|
|
713
750
|
- spec/integration/readme/controllers/games_controller_spec.rb
|
714
751
|
- spec/integration/yard/azeroth/decorator_spec.rb
|
715
752
|
- spec/integration/yard/controllers/games_controller_spec.rb
|
753
|
+
- spec/lib/azeroth/controller_interface_spec.rb
|
716
754
|
- spec/lib/azeroth/decorator/hash_builder_spec.rb
|
717
755
|
- spec/lib/azeroth/decorator/key_value_extractor_spec.rb
|
756
|
+
- spec/lib/azeroth/decorator/method_builder_spec.rb
|
718
757
|
- spec/lib/azeroth/decorator_spec.rb
|
719
758
|
- spec/lib/azeroth/dummy_decorator_spec.rb
|
720
759
|
- spec/lib/azeroth/model_spec.rb
|
@@ -735,6 +774,7 @@ test_files:
|
|
735
774
|
- spec/support/app/controllers/request_handler_controller.rb
|
736
775
|
- spec/support/app/controllers/resource_builder_controller.rb
|
737
776
|
- spec/support/app/controllers/resource_route_builder_controller.rb
|
777
|
+
- spec/support/app/workers/worker.rb
|
738
778
|
- spec/support/factories/document.rb
|
739
779
|
- spec/support/factories/dummy_model.rb
|
740
780
|
- spec/support/factories/factory.rb
|