grape 1.7.0 → 1.8.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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +46 -0
  3. data/CONTRIBUTING.md +31 -1
  4. data/README.md +38 -8
  5. data/grape.gemspec +2 -2
  6. data/lib/grape/api.rb +2 -2
  7. data/lib/grape/content_types.rb +2 -8
  8. data/lib/grape/dsl/desc.rb +3 -2
  9. data/lib/grape/dsl/inside_route.rb +6 -6
  10. data/lib/grape/dsl/parameters.rb +6 -1
  11. data/lib/grape/dsl/request_response.rb +3 -2
  12. data/lib/grape/dsl/settings.rb +2 -6
  13. data/lib/grape/endpoint.rb +21 -19
  14. data/lib/grape/error_formatter/base.rb +1 -1
  15. data/lib/grape/exceptions/base.rb +4 -3
  16. data/lib/grape/exceptions/missing_group_type.rb +1 -6
  17. data/lib/grape/exceptions/unsupported_group_type.rb +1 -6
  18. data/lib/grape/exceptions/validation_errors.rb +1 -6
  19. data/lib/grape/extensions/active_support/hash_with_indifferent_access.rb +3 -3
  20. data/lib/grape/extensions/hash.rb +4 -7
  21. data/lib/grape/extensions/hashie/mash.rb +3 -3
  22. data/lib/grape/formatter/serializable_hash.rb +7 -7
  23. data/lib/grape/middleware/auth/base.rb +1 -1
  24. data/lib/grape/middleware/error.rb +1 -1
  25. data/lib/grape/middleware/formatter.rb +1 -1
  26. data/lib/grape/middleware/stack.rb +1 -1
  27. data/lib/grape/middleware/versioner/header.rb +11 -19
  28. data/lib/grape/request.rb +1 -1
  29. data/lib/grape/router/attribute_translator.rb +1 -1
  30. data/lib/grape/router/route.rb +1 -3
  31. data/lib/grape/types/invalid_value.rb +8 -0
  32. data/lib/grape/util/cache.rb +1 -1
  33. data/lib/grape/util/lazy_value.rb +3 -11
  34. data/lib/grape/util/strict_hash_configuration.rb +3 -4
  35. data/lib/grape/validations/multiple_attributes_iterator.rb +1 -1
  36. data/lib/grape/validations/params_scope.rb +9 -3
  37. data/lib/grape/validations/single_attribute_iterator.rb +3 -1
  38. data/lib/grape/validations/types/custom_type_coercer.rb +2 -16
  39. data/lib/grape/validations/types/invalid_value.rb +0 -7
  40. data/lib/grape/validations/validators/base.rb +9 -20
  41. data/lib/grape/validations/validators/default_validator.rb +2 -20
  42. data/lib/grape/validations/validators/multiple_params_base.rb +4 -8
  43. data/lib/grape/validations/validators/values_validator.rb +14 -5
  44. data/lib/grape/version.rb +1 -1
  45. data/lib/grape.rb +19 -3
  46. data/spec/grape/api/custom_validations_spec.rb +14 -57
  47. data/spec/grape/api_remount_spec.rb +36 -0
  48. data/spec/grape/api_spec.rb +15 -21
  49. data/spec/grape/dsl/desc_spec.rb +84 -85
  50. data/spec/grape/dsl/inside_route_spec.rb +6 -10
  51. data/spec/grape/dsl/request_response_spec.rb +21 -2
  52. data/spec/grape/endpoint_spec.rb +11 -10
  53. data/spec/grape/exceptions/body_parse_errors_spec.rb +40 -0
  54. data/spec/grape/exceptions/invalid_accept_header_spec.rb +3 -0
  55. data/spec/grape/exceptions/missing_group_type_spec.rb +5 -9
  56. data/spec/grape/exceptions/unsupported_group_type_spec.rb +5 -9
  57. data/spec/grape/grape_spec.rb +9 -0
  58. data/spec/grape/integration/rack_spec.rb +6 -5
  59. data/spec/grape/middleware/base_spec.rb +7 -5
  60. data/spec/grape/middleware/formatter_spec.rb +7 -7
  61. data/spec/grape/request_spec.rb +4 -14
  62. data/spec/grape/validations/multiple_attributes_iterator_spec.rb +6 -8
  63. data/spec/grape/validations/single_attribute_iterator_spec.rb +8 -9
  64. data/spec/grape/validations/validators/base_spec.rb +38 -0
  65. data/spec/grape/validations/validators/values_spec.rb +56 -0
  66. data/spec/grape/validations_spec.rb +36 -12
  67. data/spec/shared/deprecated_class_examples.rb +16 -0
  68. metadata +112 -114
  69. data/lib/grape/config.rb +0 -34
  70. data/lib/grape/extensions/deep_mergeable_hash.rb +0 -21
  71. data/lib/grape/extensions/deep_symbolize_hash.rb +0 -32
  72. data/spec/grape/config_spec.rb +0 -17
  73. data/spec/grape/dsl/configuration_spec.rb +0 -14
  74. data/spec/grape/validations/attributes_iterator_spec.rb +0 -4
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grape
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Bleigh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-20 00:00:00.000000000 Z
11
+ date: 2023-08-30 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: '0'
19
+ version: '5'
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: '0'
26
+ version: '5'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: builder
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -112,7 +112,6 @@ files:
112
112
  - lib/grape/api.rb
113
113
  - lib/grape/api/helpers.rb
114
114
  - lib/grape/api/instance.rb
115
- - lib/grape/config.rb
116
115
  - lib/grape/content_types.rb
117
116
  - lib/grape/cookies.rb
118
117
  - lib/grape/dry_types.rb
@@ -161,8 +160,6 @@ files:
161
160
  - lib/grape/exceptions/validation_array_errors.rb
162
161
  - lib/grape/exceptions/validation_errors.rb
163
162
  - lib/grape/extensions/active_support/hash_with_indifferent_access.rb
164
- - lib/grape/extensions/deep_mergeable_hash.rb
165
- - lib/grape/extensions/deep_symbolize_hash.rb
166
163
  - lib/grape/extensions/hash.rb
167
164
  - lib/grape/extensions/hashie/mash.rb
168
165
  - lib/grape/formatter.rb
@@ -203,6 +200,7 @@ files:
203
200
  - lib/grape/serve_stream/file_body.rb
204
201
  - lib/grape/serve_stream/sendfile_response.rb
205
202
  - lib/grape/serve_stream/stream_response.rb
203
+ - lib/grape/types/invalid_value.rb
206
204
  - lib/grape/util/base_inheritable.rb
207
205
  - lib/grape/util/cache.rb
208
206
  - lib/grape/util/endpoint_configuration.rb
@@ -274,9 +272,7 @@ files:
274
272
  - spec/grape/api/shared_helpers_spec.rb
275
273
  - spec/grape/api_remount_spec.rb
276
274
  - spec/grape/api_spec.rb
277
- - spec/grape/config_spec.rb
278
275
  - spec/grape/dsl/callbacks_spec.rb
279
- - spec/grape/dsl/configuration_spec.rb
280
276
  - spec/grape/dsl/desc_spec.rb
281
277
  - spec/grape/dsl/headers_spec.rb
282
278
  - spec/grape/dsl/helpers_spec.rb
@@ -308,6 +304,7 @@ files:
308
304
  - spec/grape/extensions/param_builders/hash_spec.rb
309
305
  - spec/grape/extensions/param_builders/hash_with_indifferent_access_spec.rb
310
306
  - spec/grape/extensions/param_builders/hashie/mash_spec.rb
307
+ - spec/grape/grape_spec.rb
311
308
  - spec/grape/integration/global_namespace_function_spec.rb
312
309
  - spec/grape/integration/rack_sendfile_spec.rb
313
310
  - spec/grape/integration/rack_spec.rb
@@ -337,7 +334,6 @@ files:
337
334
  - spec/grape/util/stackable_values_spec.rb
338
335
  - spec/grape/util/strict_hash_configuration_spec.rb
339
336
  - spec/grape/validations/attributes_doc_spec.rb
340
- - spec/grape/validations/attributes_iterator_spec.rb
341
337
  - spec/grape/validations/instance_behaivour_spec.rb
342
338
  - spec/grape/validations/multiple_attributes_iterator_spec.rb
343
339
  - spec/grape/validations/params_scope_spec.rb
@@ -349,6 +345,7 @@ files:
349
345
  - spec/grape/validations/validators/all_or_none_spec.rb
350
346
  - spec/grape/validations/validators/allow_blank_spec.rb
351
347
  - spec/grape/validations/validators/at_least_one_of_spec.rb
348
+ - spec/grape/validations/validators/base_spec.rb
352
349
  - spec/grape/validations/validators/coerce_spec.rb
353
350
  - spec/grape/validations/validators/default_spec.rb
354
351
  - spec/grape/validations/validators/exactly_one_of_spec.rb
@@ -363,6 +360,7 @@ files:
363
360
  - spec/integration/eager_load/eager_load_spec.rb
364
361
  - spec/integration/multi_json/json_spec.rb
365
362
  - spec/integration/multi_xml/xml_spec.rb
363
+ - spec/shared/deprecated_class_examples.rb
366
364
  - spec/shared/versioning_examples.rb
367
365
  - spec/spec_helper.rb
368
366
  - spec/support/basic_auth_encode_helpers.rb
@@ -377,9 +375,9 @@ licenses:
377
375
  - MIT
378
376
  metadata:
379
377
  bug_tracker_uri: https://github.com/ruby-grape/grape/issues
380
- changelog_uri: https://github.com/ruby-grape/grape/blob/v1.7.0/CHANGELOG.md
381
- documentation_uri: https://www.rubydoc.info/gems/grape/1.7.0
382
- source_code_uri: https://github.com/ruby-grape/grape/tree/v1.7.0
378
+ changelog_uri: https://github.com/ruby-grape/grape/blob/v1.8.0/CHANGELOG.md
379
+ documentation_uri: https://www.rubydoc.info/gems/grape/1.8.0
380
+ source_code_uri: https://github.com/ruby-grape/grape/tree/v1.8.0
383
381
  post_install_message:
384
382
  rdoc_options: []
385
383
  require_paths:
@@ -388,133 +386,133 @@ required_ruby_version: !ruby/object:Gem::Requirement
388
386
  requirements:
389
387
  - - ">="
390
388
  - !ruby/object:Gem::Version
391
- version: 2.5.0
389
+ version: 2.6.0
392
390
  required_rubygems_version: !ruby/object:Gem::Requirement
393
391
  requirements:
394
392
  - - ">="
395
393
  - !ruby/object:Gem::Version
396
394
  version: '0'
397
395
  requirements: []
398
- rubygems_version: 3.3.7
396
+ rubygems_version: 3.1.6
399
397
  signing_key:
400
398
  specification_version: 4
401
399
  summary: A simple Ruby framework for building REST-like APIs.
402
400
  test_files:
403
- - spec/grape/api/custom_validations_spec.rb
404
- - spec/grape/api/deeply_included_options_spec.rb
405
- - spec/grape/api/defines_boolean_in_params_spec.rb
406
- - spec/grape/api/documentation_spec.rb
407
- - spec/grape/api/inherited_helpers_spec.rb
408
- - spec/grape/api/instance_spec.rb
409
- - spec/grape/api/invalid_format_spec.rb
410
- - spec/grape/api/namespace_parameters_in_route_spec.rb
411
- - spec/grape/api/nested_helpers_spec.rb
412
- - spec/grape/api/optional_parameters_in_route_spec.rb
413
- - spec/grape/api/parameters_modification_spec.rb
414
- - spec/grape/api/patch_method_helpers_spec.rb
415
- - spec/grape/api/recognize_path_spec.rb
416
- - spec/grape/api/required_parameters_in_route_spec.rb
417
- - spec/grape/api/required_parameters_with_invalid_method_spec.rb
418
- - spec/grape/api/routes_with_requirements_spec.rb
419
- - spec/grape/api/shared_helpers_exactly_one_of_spec.rb
420
- - spec/grape/api/shared_helpers_spec.rb
421
- - spec/grape/api_remount_spec.rb
422
- - spec/grape/api_spec.rb
423
- - spec/grape/config_spec.rb
424
- - spec/grape/dsl/callbacks_spec.rb
425
- - spec/grape/dsl/configuration_spec.rb
426
- - spec/grape/dsl/desc_spec.rb
427
- - spec/grape/dsl/headers_spec.rb
428
- - spec/grape/dsl/helpers_spec.rb
429
- - spec/grape/dsl/inside_route_spec.rb
430
- - spec/grape/dsl/logger_spec.rb
431
- - spec/grape/dsl/middleware_spec.rb
432
- - spec/grape/dsl/parameters_spec.rb
433
- - spec/grape/dsl/request_response_spec.rb
434
- - spec/grape/dsl/routing_spec.rb
435
- - spec/grape/dsl/settings_spec.rb
436
- - spec/grape/dsl/validations_spec.rb
437
- - spec/grape/endpoint/declared_spec.rb
438
- - spec/grape/endpoint_spec.rb
439
- - spec/grape/entity_spec.rb
440
- - spec/grape/exceptions/base_spec.rb
441
- - spec/grape/exceptions/body_parse_errors_spec.rb
442
- - spec/grape/exceptions/invalid_accept_header_spec.rb
443
- - spec/grape/exceptions/invalid_formatter_spec.rb
444
- - spec/grape/exceptions/invalid_response_spec.rb
445
- - spec/grape/exceptions/invalid_versioner_option_spec.rb
446
- - spec/grape/exceptions/missing_group_type_spec.rb
447
- - spec/grape/exceptions/missing_mime_type_spec.rb
448
- - spec/grape/exceptions/missing_option_spec.rb
449
- - spec/grape/exceptions/unknown_options_spec.rb
450
- - spec/grape/exceptions/unknown_validator_spec.rb
451
- - spec/grape/exceptions/unsupported_group_type_spec.rb
452
- - spec/grape/exceptions/validation_errors_spec.rb
453
- - spec/grape/exceptions/validation_spec.rb
454
- - spec/grape/extensions/param_builders/hash_spec.rb
455
- - spec/grape/extensions/param_builders/hash_with_indifferent_access_spec.rb
456
- - spec/grape/extensions/param_builders/hashie/mash_spec.rb
457
- - spec/grape/integration/global_namespace_function_spec.rb
458
- - spec/grape/integration/rack_sendfile_spec.rb
459
- - spec/grape/integration/rack_spec.rb
460
- - spec/grape/loading_spec.rb
461
- - spec/grape/middleware/auth/base_spec.rb
462
- - spec/grape/middleware/auth/dsl_spec.rb
463
- - spec/grape/middleware/auth/strategies_spec.rb
464
- - spec/grape/middleware/base_spec.rb
401
+ - spec/spec_helper.rb
402
+ - spec/integration/eager_load/eager_load_spec.rb
403
+ - spec/integration/multi_xml/xml_spec.rb
404
+ - spec/integration/multi_json/json_spec.rb
405
+ - spec/shared/versioning_examples.rb
406
+ - spec/shared/deprecated_class_examples.rb
407
+ - spec/support/basic_auth_encode_helpers.rb
408
+ - spec/support/endpoint_faker.rb
409
+ - spec/support/chunks.rb
410
+ - spec/support/file_streamer.rb
411
+ - spec/support/versioned_helpers.rb
412
+ - spec/support/content_type_helpers.rb
413
+ - spec/support/integer_helpers.rb
465
414
  - spec/grape/middleware/error_spec.rb
466
- - spec/grape/middleware/exception_spec.rb
467
- - spec/grape/middleware/formatter_spec.rb
468
415
  - spec/grape/middleware/globals_spec.rb
416
+ - spec/grape/middleware/formatter_spec.rb
417
+ - spec/grape/middleware/auth/strategies_spec.rb
418
+ - spec/grape/middleware/auth/dsl_spec.rb
419
+ - spec/grape/middleware/auth/base_spec.rb
469
420
  - spec/grape/middleware/stack_spec.rb
421
+ - spec/grape/middleware/exception_spec.rb
422
+ - spec/grape/middleware/versioner_spec.rb
470
423
  - spec/grape/middleware/versioner/accept_version_header_spec.rb
471
424
  - spec/grape/middleware/versioner/header_spec.rb
472
- - spec/grape/middleware/versioner/param_spec.rb
473
425
  - spec/grape/middleware/versioner/path_spec.rb
474
- - spec/grape/middleware/versioner_spec.rb
475
- - spec/grape/named_api_spec.rb
476
- - spec/grape/parser_spec.rb
477
- - spec/grape/path_spec.rb
478
- - spec/grape/presenters/presenter_spec.rb
479
- - spec/grape/request_spec.rb
480
- - spec/grape/util/inheritable_setting_spec.rb
481
- - spec/grape/util/inheritable_values_spec.rb
426
+ - spec/grape/middleware/versioner/param_spec.rb
427
+ - spec/grape/middleware/base_spec.rb
428
+ - spec/grape/loading_spec.rb
429
+ - spec/grape/endpoint_spec.rb
430
+ - spec/grape/api_spec.rb
482
431
  - spec/grape/util/reverse_stackable_values_spec.rb
483
432
  - spec/grape/util/stackable_values_spec.rb
433
+ - spec/grape/util/inheritable_setting_spec.rb
484
434
  - spec/grape/util/strict_hash_configuration_spec.rb
485
- - spec/grape/validations/attributes_doc_spec.rb
486
- - spec/grape/validations/attributes_iterator_spec.rb
487
- - spec/grape/validations/instance_behaivour_spec.rb
488
- - spec/grape/validations/multiple_attributes_iterator_spec.rb
489
- - spec/grape/validations/params_scope_spec.rb
435
+ - spec/grape/util/inheritable_values_spec.rb
436
+ - spec/grape/integration/rack_spec.rb
437
+ - spec/grape/integration/rack_sendfile_spec.rb
438
+ - spec/grape/integration/global_namespace_function_spec.rb
439
+ - spec/grape/validations_spec.rb
440
+ - spec/grape/entity_spec.rb
441
+ - spec/grape/exceptions/missing_group_type_spec.rb
442
+ - spec/grape/exceptions/unsupported_group_type_spec.rb
443
+ - spec/grape/exceptions/validation_spec.rb
444
+ - spec/grape/exceptions/invalid_accept_header_spec.rb
445
+ - spec/grape/exceptions/missing_option_spec.rb
446
+ - spec/grape/exceptions/invalid_response_spec.rb
447
+ - spec/grape/exceptions/body_parse_errors_spec.rb
448
+ - spec/grape/exceptions/invalid_formatter_spec.rb
449
+ - spec/grape/exceptions/missing_mime_type_spec.rb
450
+ - spec/grape/exceptions/unknown_options_spec.rb
451
+ - spec/grape/exceptions/validation_errors_spec.rb
452
+ - spec/grape/exceptions/unknown_validator_spec.rb
453
+ - spec/grape/exceptions/invalid_versioner_option_spec.rb
454
+ - spec/grape/exceptions/base_spec.rb
455
+ - spec/grape/presenters/presenter_spec.rb
490
456
  - spec/grape/validations/single_attribute_iterator_spec.rb
491
- - spec/grape/validations/types/array_coercer_spec.rb
492
457
  - spec/grape/validations/types/primitive_coercer_spec.rb
493
458
  - spec/grape/validations/types/set_coercer_spec.rb
459
+ - spec/grape/validations/types/array_coercer_spec.rb
460
+ - spec/grape/validations/attributes_doc_spec.rb
461
+ - spec/grape/validations/params_scope_spec.rb
462
+ - spec/grape/validations/instance_behaivour_spec.rb
463
+ - spec/grape/validations/multiple_attributes_iterator_spec.rb
494
464
  - spec/grape/validations/types_spec.rb
495
- - spec/grape/validations/validators/all_or_none_spec.rb
496
- - spec/grape/validations/validators/allow_blank_spec.rb
497
- - spec/grape/validations/validators/at_least_one_of_spec.rb
498
- - spec/grape/validations/validators/coerce_spec.rb
499
- - spec/grape/validations/validators/default_spec.rb
465
+ - spec/grape/validations/validators/regexp_spec.rb
466
+ - spec/grape/validations/validators/mutual_exclusion_spec.rb
500
467
  - spec/grape/validations/validators/exactly_one_of_spec.rb
501
468
  - spec/grape/validations/validators/except_values_spec.rb
502
- - spec/grape/validations/validators/mutual_exclusion_spec.rb
503
469
  - spec/grape/validations/validators/presence_spec.rb
504
- - spec/grape/validations/validators/regexp_spec.rb
470
+ - spec/grape/validations/validators/all_or_none_spec.rb
471
+ - spec/grape/validations/validators/allow_blank_spec.rb
505
472
  - spec/grape/validations/validators/same_as_spec.rb
473
+ - spec/grape/validations/validators/default_spec.rb
506
474
  - spec/grape/validations/validators/values_spec.rb
475
+ - spec/grape/validations/validators/at_least_one_of_spec.rb
476
+ - spec/grape/validations/validators/coerce_spec.rb
507
477
  - spec/grape/validations/validators/zh-CN.yml
508
- - spec/grape/validations_spec.rb
509
- - spec/integration/eager_load/eager_load_spec.rb
510
- - spec/integration/multi_json/json_spec.rb
511
- - spec/integration/multi_xml/xml_spec.rb
512
- - spec/shared/versioning_examples.rb
513
- - spec/spec_helper.rb
514
- - spec/support/basic_auth_encode_helpers.rb
515
- - spec/support/chunks.rb
516
- - spec/support/content_type_helpers.rb
517
- - spec/support/endpoint_faker.rb
518
- - spec/support/file_streamer.rb
519
- - spec/support/integer_helpers.rb
520
- - spec/support/versioned_helpers.rb
478
+ - spec/grape/validations/validators/base_spec.rb
479
+ - spec/grape/extensions/param_builders/hashie/mash_spec.rb
480
+ - spec/grape/extensions/param_builders/hash_spec.rb
481
+ - spec/grape/extensions/param_builders/hash_with_indifferent_access_spec.rb
482
+ - spec/grape/parser_spec.rb
483
+ - spec/grape/request_spec.rb
484
+ - spec/grape/endpoint/declared_spec.rb
485
+ - spec/grape/api/parameters_modification_spec.rb
486
+ - spec/grape/api/patch_method_helpers_spec.rb
487
+ - spec/grape/api/required_parameters_with_invalid_method_spec.rb
488
+ - spec/grape/api/nested_helpers_spec.rb
489
+ - spec/grape/api/defines_boolean_in_params_spec.rb
490
+ - spec/grape/api/invalid_format_spec.rb
491
+ - spec/grape/api/required_parameters_in_route_spec.rb
492
+ - spec/grape/api/instance_spec.rb
493
+ - spec/grape/api/namespace_parameters_in_route_spec.rb
494
+ - spec/grape/api/recognize_path_spec.rb
495
+ - spec/grape/api/shared_helpers_exactly_one_of_spec.rb
496
+ - spec/grape/api/inherited_helpers_spec.rb
497
+ - spec/grape/api/shared_helpers_spec.rb
498
+ - spec/grape/api/deeply_included_options_spec.rb
499
+ - spec/grape/api/routes_with_requirements_spec.rb
500
+ - spec/grape/api/custom_validations_spec.rb
501
+ - spec/grape/api/optional_parameters_in_route_spec.rb
502
+ - spec/grape/api/documentation_spec.rb
503
+ - spec/grape/grape_spec.rb
504
+ - spec/grape/api_remount_spec.rb
505
+ - spec/grape/named_api_spec.rb
506
+ - spec/grape/dsl/request_response_spec.rb
507
+ - spec/grape/dsl/desc_spec.rb
508
+ - spec/grape/dsl/logger_spec.rb
509
+ - spec/grape/dsl/validations_spec.rb
510
+ - spec/grape/dsl/parameters_spec.rb
511
+ - spec/grape/dsl/helpers_spec.rb
512
+ - spec/grape/dsl/middleware_spec.rb
513
+ - spec/grape/dsl/headers_spec.rb
514
+ - spec/grape/dsl/callbacks_spec.rb
515
+ - spec/grape/dsl/settings_spec.rb
516
+ - spec/grape/dsl/routing_spec.rb
517
+ - spec/grape/dsl/inside_route_spec.rb
518
+ - spec/grape/path_spec.rb
data/lib/grape/config.rb DELETED
@@ -1,34 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Grape
4
- module Config
5
- class Configuration
6
- ATTRIBUTES = %i[
7
- param_builder
8
- ].freeze
9
-
10
- attr_accessor(*ATTRIBUTES)
11
-
12
- def initialize
13
- reset
14
- end
15
-
16
- def reset
17
- self.param_builder = Grape::Extensions::ActiveSupport::HashWithIndifferentAccess::ParamBuilder
18
- end
19
- end
20
-
21
- def self.extended(base)
22
- def base.configure
23
- block_given? ? yield(config) : config
24
- end
25
-
26
- def base.config
27
- @configuration ||= Grape::Config::Configuration.new
28
- end
29
- end
30
- end
31
- end
32
-
33
- Grape.extend Grape::Config
34
- Grape.config.reset
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Grape
4
- module Extensions
5
- class DeepMergeableHash < ::Hash
6
- def deep_merge!(other_hash)
7
- other_hash.each_pair do |current_key, other_value|
8
- this_value = self[current_key]
9
-
10
- self[current_key] = if this_value.is_a?(::Hash) && other_value.is_a?(::Hash)
11
- this_value.deep_merge(other_value)
12
- else
13
- other_value
14
- end
15
- end
16
-
17
- self
18
- end
19
- end
20
- end
21
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Grape
4
- module Extensions
5
- module DeepSymbolizeHash
6
- def self.deep_symbolize_keys_in(object)
7
- case object
8
- when ::Hash
9
- object.each_with_object({}) do |(key, value), new_hash|
10
- new_hash[symbolize_key(key)] = deep_symbolize_keys_in(value)
11
- end
12
- when ::Array
13
- object.map { |element| deep_symbolize_keys_in(element) }
14
- else
15
- object
16
- end
17
- end
18
-
19
- def self.symbolize_key(key)
20
- if key.is_a?(Symbol)
21
- key
22
- elsif key.is_a?(String)
23
- key.to_sym
24
- elsif key.respond_to?(:to_sym)
25
- key.to_sym
26
- else
27
- key
28
- end
29
- end
30
- end
31
- end
32
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe '.configure' do
4
- before do
5
- Grape.configure do |config|
6
- config.param_builder = 42
7
- end
8
- end
9
-
10
- after do
11
- Grape.config.reset
12
- end
13
-
14
- it 'is configured to the new value' do
15
- expect(Grape.config.param_builder).to eq 42
16
- end
17
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Grape
4
- module DSL
5
- module ConfigurationSpec
6
- class Dummy
7
- include Grape::DSL::Configuration
8
- end
9
- end
10
- describe Configuration do
11
- subject { Class.new(ConfigurationSpec::Dummy) }
12
- end
13
- end
14
- end
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- describe Grape::Validations::AttributesIterator do
4
- end