azeroth 0.10.0 → 1.0.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 (36) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +3 -3
  3. data/Dockerfile +6 -9
  4. data/README.md +31 -1
  5. data/azeroth.gemspec +12 -11
  6. data/config/yardstick.yml +1 -0
  7. data/docker-compose.yml +0 -8
  8. data/lib/azeroth/decorator/hash_builder.rb +3 -1
  9. data/lib/azeroth/decorator/key_value_extractor.rb +3 -8
  10. data/lib/azeroth/options.rb +24 -12
  11. data/lib/azeroth/params_builder.rb +83 -0
  12. data/lib/azeroth/request_handler/update.rb +3 -1
  13. data/lib/azeroth/request_handler.rb +1 -2
  14. data/lib/azeroth/resource_builder.rb +9 -10
  15. data/lib/azeroth/resourceable/builder.rb +16 -34
  16. data/lib/azeroth/resourceable/class_methods.rb +1 -130
  17. data/lib/azeroth/resourceable.rb +171 -4
  18. data/lib/azeroth/routes_builder.rb +8 -10
  19. data/lib/azeroth/version.rb +1 -1
  20. data/lib/azeroth.rb +1 -0
  21. data/spec/controllers/documents_with_error_controller_spec.rb +3 -1
  22. data/spec/dummy/app/models/movie/simple_decorator.rb +7 -0
  23. data/spec/dummy/app/models/movie.rb +5 -0
  24. data/spec/dummy/config/environments/development.rb +1 -0
  25. data/spec/dummy/db/schema.rb +4 -1
  26. data/spec/integration/yard/controllers/paginated_documents_controller_spec.rb +33 -0
  27. data/spec/lib/azeroth/decorator/key_value_extractor_spec.rb +3 -1
  28. data/spec/lib/azeroth/params_builder_spec.rb +58 -0
  29. data/spec/lib/azeroth/resource_builder_spec.rb +3 -1
  30. data/spec/lib/azeroth/resourceable_spec.rb +108 -0
  31. data/spec/lib/azeroth/routes_builder_spec.rb +3 -1
  32. data/spec/support/app/controllers/controller.rb +1 -1
  33. data/spec/support/app/controllers/params_builder_controller.rb +14 -0
  34. data/spec/support/factories/movie.rb +8 -0
  35. metadata +62 -34
  36. data/Dockerfile.circleci +0 -5
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.10.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Darthjee
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-03 00:00:00.000000000 Z
11
+ date: 2023-05-13 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.x
19
+ version: 7.0.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.x
26
+ version: 7.0.x
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: darthjee-active_ext
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,70 +44,70 @@ dependencies:
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: 0.0.3
47
+ version: 0.1.1
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: 0.0.3
54
+ version: 0.1.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: sinclair
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: 1.6.7
61
+ version: 2.0.0
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.7
68
+ version: 2.0.0
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.x
75
+ version: 7.0.4.3
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.x
82
+ version: 7.0.4.3
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.x
89
+ version: 7.0.4.3
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.x
96
+ version: 7.0.4.3
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: bundler
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 2.3.14
103
+ version: 2.4.8
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 2.3.14
110
+ version: 2.4.8
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: factory_bot
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -126,30 +126,30 @@ dependencies:
126
126
  name: minitest
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - "~>"
129
+ - - '='
130
130
  - !ruby/object:Gem::Version
131
- version: 5.15.0
131
+ version: 5.16.2
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: 5.15.0
138
+ version: 5.16.2
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: nokogiri
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
143
  - - '='
144
144
  - !ruby/object:Gem::Version
145
- version: 1.13.6
145
+ version: 1.13.8
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - '='
151
151
  - !ruby/object:Gem::Version
152
- version: 1.13.6
152
+ version: 1.13.8
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: pry
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -182,30 +182,30 @@ dependencies:
182
182
  name: rails
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - "~>"
185
+ - - '='
186
186
  - !ruby/object:Gem::Version
187
- version: 5.2.x
187
+ version: 7.0.4.3
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - "~>"
192
+ - - '='
193
193
  - !ruby/object:Gem::Version
194
- version: 5.2.x
194
+ version: 7.0.4.3
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: rails-controller-testing
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
199
  - - '='
200
200
  - !ruby/object:Gem::Version
201
- version: 1.0.4
201
+ version: 1.0.5
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: 1.0.4
208
+ version: 1.0.5
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: rake
211
211
  requirement: !ruby/object:Gem::Requirement
@@ -366,14 +366,14 @@ dependencies:
366
366
  requirements:
367
367
  - - '='
368
368
  - !ruby/object:Gem::Version
369
- version: 4.6.1
369
+ version: 4.7.0
370
370
  type: :development
371
371
  prerelease: false
372
372
  version_requirements: !ruby/object:Gem::Requirement
373
373
  requirements:
374
374
  - - '='
375
375
  - !ruby/object:Gem::Version
376
- version: 4.6.1
376
+ version: 4.7.0
377
377
  - !ruby/object:Gem::Dependency
378
378
  name: shoulda-matchers
379
379
  requirement: !ruby/object:Gem::Requirement
@@ -402,6 +402,20 @@ dependencies:
402
402
  - - '='
403
403
  - !ruby/object:Gem::Version
404
404
  version: 0.21.2
405
+ - !ruby/object:Gem::Dependency
406
+ name: sprockets-rails
407
+ requirement: !ruby/object:Gem::Requirement
408
+ requirements:
409
+ - - '='
410
+ - !ruby/object:Gem::Version
411
+ version: 3.4.2
412
+ type: :development
413
+ prerelease: false
414
+ version_requirements: !ruby/object:Gem::Requirement
415
+ requirements:
416
+ - - '='
417
+ - !ruby/object:Gem::Version
418
+ version: 3.4.2
405
419
  - !ruby/object:Gem::Dependency
406
420
  name: sqlite3
407
421
  requirement: !ruby/object:Gem::Requirement
@@ -471,7 +485,6 @@ files:
471
485
  - ".rubocop.yml"
472
486
  - ".rubocop_todo.yml"
473
487
  - Dockerfile
474
- - Dockerfile.circleci
475
488
  - Gemfile
476
489
  - LICENSE
477
490
  - README.md
@@ -494,6 +507,7 @@ files:
494
507
  - lib/azeroth/dummy_decorator.rb
495
508
  - lib/azeroth/model.rb
496
509
  - lib/azeroth/options.rb
510
+ - lib/azeroth/params_builder.rb
497
511
  - lib/azeroth/request_handler.rb
498
512
  - lib/azeroth/request_handler/create.rb
499
513
  - lib/azeroth/request_handler/destroy.rb
@@ -551,6 +565,8 @@ files:
551
565
  - spec/dummy/app/models/game.rb
552
566
  - spec/dummy/app/models/game/decorator.rb
553
567
  - spec/dummy/app/models/id_decorator.rb
568
+ - spec/dummy/app/models/movie.rb
569
+ - spec/dummy/app/models/movie/simple_decorator.rb
554
570
  - spec/dummy/app/models/name_decorator.rb
555
571
  - spec/dummy/app/models/pokemon.rb
556
572
  - spec/dummy/app/models/pokemon/decorator.rb
@@ -617,6 +633,7 @@ files:
617
633
  - spec/integration/readme/controllers/games_controller_spec.rb
618
634
  - spec/integration/yard/azeroth/decorator_spec.rb
619
635
  - spec/integration/yard/controllers/games_controller_spec.rb
636
+ - spec/integration/yard/controllers/paginated_documents_controller_spec.rb
620
637
  - spec/lib/azeroth/controller_interface_spec.rb
621
638
  - spec/lib/azeroth/decorator/hash_builder_spec.rb
622
639
  - spec/lib/azeroth/decorator/key_value_extractor_spec.rb
@@ -625,6 +642,7 @@ files:
625
642
  - spec/lib/azeroth/dummy_decorator_spec.rb
626
643
  - spec/lib/azeroth/model_spec.rb
627
644
  - spec/lib/azeroth/options_spec.rb
645
+ - spec/lib/azeroth/params_builder_spec.rb
628
646
  - spec/lib/azeroth/request_handler/create_spec.rb
629
647
  - spec/lib/azeroth/request_handler/destroy_spec.rb
630
648
  - spec/lib/azeroth/request_handler/edit_spec.rb
@@ -635,9 +653,11 @@ files:
635
653
  - spec/lib/azeroth/request_handler_spec.rb
636
654
  - spec/lib/azeroth/resource_builder_spec.rb
637
655
  - spec/lib/azeroth/resourceable/builder_spec.rb
656
+ - spec/lib/azeroth/resourceable_spec.rb
638
657
  - spec/lib/azeroth/routes_builder_spec.rb
639
658
  - spec/spec_helper.rb
640
659
  - spec/support/app/controllers/controller.rb
660
+ - spec/support/app/controllers/params_builder_controller.rb
641
661
  - spec/support/app/controllers/request_handler_controller.rb
642
662
  - spec/support/app/controllers/resource_builder_controller.rb
643
663
  - spec/support/app/controllers/resource_route_builder_controller.rb
@@ -646,6 +666,7 @@ files:
646
666
  - spec/support/factories/dummy_model.rb
647
667
  - spec/support/factories/factory.rb
648
668
  - spec/support/factories/game.rb
669
+ - spec/support/factories/movie.rb
649
670
  - spec/support/factories/pokemon.rb
650
671
  - spec/support/factories/pokemon_master.rb
651
672
  - spec/support/factories/product.rb
@@ -672,7 +693,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
672
693
  - !ruby/object:Gem::Version
673
694
  version: '0'
674
695
  requirements: []
675
- rubygems_version: 3.3.15
696
+ rubygems_version: 3.1.2
676
697
  signing_key:
677
698
  specification_version: 4
678
699
  summary: Azeroth
@@ -720,6 +741,8 @@ test_files:
720
741
  - spec/dummy/app/models/game.rb
721
742
  - spec/dummy/app/models/game/decorator.rb
722
743
  - spec/dummy/app/models/id_decorator.rb
744
+ - spec/dummy/app/models/movie.rb
745
+ - spec/dummy/app/models/movie/simple_decorator.rb
723
746
  - spec/dummy/app/models/name_decorator.rb
724
747
  - spec/dummy/app/models/pokemon.rb
725
748
  - spec/dummy/app/models/pokemon/decorator.rb
@@ -786,6 +809,7 @@ test_files:
786
809
  - spec/integration/readme/controllers/games_controller_spec.rb
787
810
  - spec/integration/yard/azeroth/decorator_spec.rb
788
811
  - spec/integration/yard/controllers/games_controller_spec.rb
812
+ - spec/integration/yard/controllers/paginated_documents_controller_spec.rb
789
813
  - spec/lib/azeroth/controller_interface_spec.rb
790
814
  - spec/lib/azeroth/decorator/hash_builder_spec.rb
791
815
  - spec/lib/azeroth/decorator/key_value_extractor_spec.rb
@@ -794,6 +818,7 @@ test_files:
794
818
  - spec/lib/azeroth/dummy_decorator_spec.rb
795
819
  - spec/lib/azeroth/model_spec.rb
796
820
  - spec/lib/azeroth/options_spec.rb
821
+ - spec/lib/azeroth/params_builder_spec.rb
797
822
  - spec/lib/azeroth/request_handler/create_spec.rb
798
823
  - spec/lib/azeroth/request_handler/destroy_spec.rb
799
824
  - spec/lib/azeroth/request_handler/edit_spec.rb
@@ -804,9 +829,11 @@ test_files:
804
829
  - spec/lib/azeroth/request_handler_spec.rb
805
830
  - spec/lib/azeroth/resource_builder_spec.rb
806
831
  - spec/lib/azeroth/resourceable/builder_spec.rb
832
+ - spec/lib/azeroth/resourceable_spec.rb
807
833
  - spec/lib/azeroth/routes_builder_spec.rb
808
834
  - spec/spec_helper.rb
809
835
  - spec/support/app/controllers/controller.rb
836
+ - spec/support/app/controllers/params_builder_controller.rb
810
837
  - spec/support/app/controllers/request_handler_controller.rb
811
838
  - spec/support/app/controllers/resource_builder_controller.rb
812
839
  - spec/support/app/controllers/resource_route_builder_controller.rb
@@ -815,6 +842,7 @@ test_files:
815
842
  - spec/support/factories/dummy_model.rb
816
843
  - spec/support/factories/factory.rb
817
844
  - spec/support/factories/game.rb
845
+ - spec/support/factories/movie.rb
818
846
  - spec/support/factories/pokemon.rb
819
847
  - spec/support/factories/pokemon_master.rb
820
848
  - spec/support/factories/product.rb
data/Dockerfile.circleci DELETED
@@ -1,5 +0,0 @@
1
- FROM darthjee/circleci_rails_gems:1.0.0 as base
2
-
3
- COPY --chown=circleci ./ /home/circleci/project/
4
-
5
- RUN bundle install