grape 1.7.0 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
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