grape 1.6.0 → 1.6.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/CONTRIBUTING.md +2 -1
  4. data/README.md +9 -1
  5. data/UPGRADING.md +4 -4
  6. data/lib/grape/api.rb +12 -0
  7. data/lib/grape/dsl/headers.rb +5 -2
  8. data/lib/grape/dsl/helpers.rb +1 -1
  9. data/lib/grape/middleware/auth/dsl.rb +7 -1
  10. data/lib/grape/middleware/base.rb +1 -1
  11. data/lib/grape/util/strict_hash_configuration.rb +1 -1
  12. data/lib/grape/validations/validators/all_or_none.rb +7 -5
  13. data/lib/grape/validations/validators/allow_blank.rb +9 -7
  14. data/lib/grape/validations/validators/as.rb +7 -5
  15. data/lib/grape/validations/validators/at_least_one_of.rb +6 -4
  16. data/lib/grape/validations/validators/base.rb +73 -71
  17. data/lib/grape/validations/validators/coerce.rb +63 -75
  18. data/lib/grape/validations/validators/default.rb +36 -34
  19. data/lib/grape/validations/validators/exactly_one_of.rb +8 -6
  20. data/lib/grape/validations/validators/except_values.rb +13 -11
  21. data/lib/grape/validations/validators/multiple_params_base.rb +24 -22
  22. data/lib/grape/validations/validators/mutual_exclusion.rb +7 -5
  23. data/lib/grape/validations/validators/presence.rb +6 -4
  24. data/lib/grape/validations/validators/regexp.rb +7 -5
  25. data/lib/grape/validations/validators/same_as.rb +17 -15
  26. data/lib/grape/validations/validators/values.rb +59 -57
  27. data/lib/grape/validations.rb +6 -0
  28. data/lib/grape/version.rb +1 -1
  29. data/lib/grape.rb +2 -0
  30. data/spec/grape/api/custom_validations_spec.rb +77 -46
  31. data/spec/grape/api/deeply_included_options_spec.rb +3 -3
  32. data/spec/grape/api/defines_boolean_in_params_spec.rb +2 -1
  33. data/spec/grape/api/invalid_format_spec.rb +2 -0
  34. data/spec/grape/api/recognize_path_spec.rb +1 -1
  35. data/spec/grape/api/shared_helpers_exactly_one_of_spec.rb +9 -15
  36. data/spec/grape/api_remount_spec.rb +16 -15
  37. data/spec/grape/api_spec.rb +317 -193
  38. data/spec/grape/dsl/callbacks_spec.rb +1 -0
  39. data/spec/grape/dsl/headers_spec.rb +39 -9
  40. data/spec/grape/dsl/helpers_spec.rb +3 -2
  41. data/spec/grape/dsl/inside_route_spec.rb +6 -4
  42. data/spec/grape/dsl/logger_spec.rb +16 -18
  43. data/spec/grape/dsl/middleware_spec.rb +1 -0
  44. data/spec/grape/dsl/parameters_spec.rb +1 -0
  45. data/spec/grape/dsl/request_response_spec.rb +1 -0
  46. data/spec/grape/dsl/routing_spec.rb +9 -6
  47. data/spec/grape/endpoint/declared_spec.rb +12 -12
  48. data/spec/grape/endpoint_spec.rb +59 -50
  49. data/spec/grape/entity_spec.rb +13 -13
  50. data/spec/grape/exceptions/body_parse_errors_spec.rb +3 -0
  51. data/spec/grape/exceptions/invalid_accept_header_spec.rb +61 -22
  52. data/spec/grape/exceptions/validation_errors_spec.rb +13 -10
  53. data/spec/grape/exceptions/validation_spec.rb +5 -3
  54. data/spec/grape/extensions/param_builders/hash_spec.rb +7 -7
  55. data/spec/grape/extensions/param_builders/hash_with_indifferent_access_spec.rb +8 -8
  56. data/spec/grape/extensions/param_builders/hashie/mash_spec.rb +8 -8
  57. data/spec/grape/integration/rack_sendfile_spec.rb +1 -1
  58. data/spec/grape/loading_spec.rb +8 -8
  59. data/spec/grape/middleware/auth/dsl_spec.rb +14 -5
  60. data/spec/grape/middleware/auth/strategies_spec.rb +60 -20
  61. data/spec/grape/middleware/base_spec.rb +24 -15
  62. data/spec/grape/middleware/error_spec.rb +1 -0
  63. data/spec/grape/middleware/exception_spec.rb +111 -161
  64. data/spec/grape/middleware/formatter_spec.rb +25 -4
  65. data/spec/grape/middleware/globals_spec.rb +7 -4
  66. data/spec/grape/middleware/stack_spec.rb +11 -11
  67. data/spec/grape/middleware/versioner/accept_version_header_spec.rb +2 -1
  68. data/spec/grape/middleware/versioner/header_spec.rb +14 -13
  69. data/spec/grape/middleware/versioner/param_spec.rb +7 -1
  70. data/spec/grape/middleware/versioner/path_spec.rb +5 -1
  71. data/spec/grape/middleware/versioner_spec.rb +1 -1
  72. data/spec/grape/parser_spec.rb +4 -0
  73. data/spec/grape/path_spec.rb +52 -52
  74. data/spec/grape/presenters/presenter_spec.rb +7 -6
  75. data/spec/grape/request_spec.rb +6 -4
  76. data/spec/grape/util/inheritable_setting_spec.rb +7 -7
  77. data/spec/grape/util/inheritable_values_spec.rb +3 -2
  78. data/spec/grape/util/reverse_stackable_values_spec.rb +3 -1
  79. data/spec/grape/util/stackable_values_spec.rb +7 -5
  80. data/spec/grape/validations/instance_behaivour_spec.rb +9 -10
  81. data/spec/grape/validations/multiple_attributes_iterator_spec.rb +1 -0
  82. data/spec/grape/validations/params_scope_spec.rb +9 -7
  83. data/spec/grape/validations/single_attribute_iterator_spec.rb +1 -0
  84. data/spec/grape/validations/types/primitive_coercer_spec.rb +2 -2
  85. data/spec/grape/validations/types_spec.rb +8 -8
  86. data/spec/grape/validations/validators/all_or_none_spec.rb +50 -56
  87. data/spec/grape/validations/validators/allow_blank_spec.rb +136 -140
  88. data/spec/grape/validations/validators/at_least_one_of_spec.rb +50 -56
  89. data/spec/grape/validations/validators/coerce_spec.rb +10 -12
  90. data/spec/grape/validations/validators/default_spec.rb +72 -78
  91. data/spec/grape/validations/validators/exactly_one_of_spec.rb +71 -77
  92. data/spec/grape/validations/validators/except_values_spec.rb +1 -1
  93. data/spec/grape/validations/validators/mutual_exclusion_spec.rb +71 -77
  94. data/spec/grape/validations/validators/presence_spec.rb +16 -1
  95. data/spec/grape/validations/validators/regexp_spec.rb +25 -31
  96. data/spec/grape/validations/validators/same_as_spec.rb +14 -20
  97. data/spec/grape/validations/validators/values_spec.rb +172 -171
  98. data/spec/grape/validations_spec.rb +45 -16
  99. data/spec/integration/eager_load/eager_load_spec.rb +2 -2
  100. data/spec/integration/multi_json/json_spec.rb +1 -1
  101. data/spec/integration/multi_xml/xml_spec.rb +1 -1
  102. data/spec/shared/versioning_examples.rb +10 -7
  103. data/spec/spec_helper.rb +11 -1
  104. metadata +102 -102
@@ -489,18 +489,24 @@ describe Grape::Validations do
489
489
  end
490
490
 
491
491
  context 'custom validator for a Hash' do
492
- module ValuesSpec
493
- module DateRangeValidations
494
- class DateRangeValidator < Grape::Validations::Base
495
- def validate_param!(attr_name, params)
496
- return if params[attr_name][:from] <= params[attr_name][:to]
492
+ let(:date_range_validator) do
493
+ Class.new(Grape::Validations::Validators::Base) do
494
+ def validate_param!(attr_name, params)
495
+ return if params[attr_name][:from] <= params[attr_name][:to]
497
496
 
498
- raise Grape::Exceptions::Validation.new(params: [@scope.full_name(attr_name)], message: "'from' must be lower or equal to 'to'")
499
- end
497
+ raise Grape::Exceptions::Validation.new(params: [@scope.full_name(attr_name)], message: "'from' must be lower or equal to 'to'")
500
498
  end
501
499
  end
502
500
  end
503
501
 
502
+ before do
503
+ described_class.register_validator('date_range', date_range_validator)
504
+ end
505
+
506
+ after do
507
+ described_class.deregister_validator('date_range')
508
+ end
509
+
504
510
  before do
505
511
  subject.params do
506
512
  optional :date_range, date_range: true, type: Hash do
@@ -1183,8 +1189,8 @@ describe Grape::Validations do
1183
1189
  end
1184
1190
 
1185
1191
  context 'custom validation' do
1186
- module CustomValidations
1187
- class Customvalidator < Grape::Validations::Base
1192
+ let(:custom_validator) do
1193
+ Class.new(Grape::Validations::Validators::Base) do
1188
1194
  def validate_param!(attr_name, params)
1189
1195
  return if params[attr_name] == 'im custom'
1190
1196
 
@@ -1193,6 +1199,14 @@ describe Grape::Validations do
1193
1199
  end
1194
1200
  end
1195
1201
 
1202
+ before do
1203
+ described_class.register_validator('customvalidator', custom_validator)
1204
+ end
1205
+
1206
+ after do
1207
+ described_class.deregister_validator('customvalidator')
1208
+ end
1209
+
1196
1210
  context 'when using optional with a custom validator' do
1197
1211
  before do
1198
1212
  subject.params do
@@ -1332,8 +1346,8 @@ describe Grape::Validations do
1332
1346
  end
1333
1347
 
1334
1348
  context 'when using options on param' do
1335
- module CustomValidations
1336
- class CustomvalidatorWithOptions < Grape::Validations::Base
1349
+ let(:custom_validator_with_options) do
1350
+ Class.new(Grape::Validations::Validators::Base) do
1337
1351
  def validate_param!(attr_name, params)
1338
1352
  return if params[attr_name] == @option[:text]
1339
1353
 
@@ -1342,6 +1356,14 @@ describe Grape::Validations do
1342
1356
  end
1343
1357
  end
1344
1358
 
1359
+ before do
1360
+ described_class.register_validator('customvalidator_with_options', custom_validator_with_options)
1361
+ end
1362
+
1363
+ after do
1364
+ described_class.deregister_validator('customvalidator_with_options')
1365
+ end
1366
+
1345
1367
  before do
1346
1368
  subject.params do
1347
1369
  optional :custom, customvalidator_with_options: { text: 'im custom with options', message: 'is not custom with options!' }
@@ -1436,21 +1458,25 @@ describe Grape::Validations do
1436
1458
  }
1437
1459
  end
1438
1460
  end
1461
+
1439
1462
  it 'returns defaults' do
1440
1463
  get '/order'
1441
1464
  expect(last_response.status).to eq(200)
1442
1465
  expect(last_response.body).to eq({ order: :asc, order_by: :created_at }.to_json)
1443
1466
  end
1467
+
1444
1468
  it 'overrides default value for order' do
1445
1469
  get '/order?order=desc'
1446
1470
  expect(last_response.status).to eq(200)
1447
1471
  expect(last_response.body).to eq({ order: :desc, order_by: :created_at }.to_json)
1448
1472
  end
1473
+
1449
1474
  it 'overrides default value for order_by' do
1450
1475
  get '/order?order_by=name'
1451
1476
  expect(last_response.status).to eq(200)
1452
1477
  expect(last_response.body).to eq({ order: :asc, order_by: :name }.to_json)
1453
1478
  end
1479
+
1454
1480
  it 'fails with invalid value' do
1455
1481
  get '/order?order=invalid'
1456
1482
  expect(last_response.status).to eq(400)
@@ -1475,7 +1501,7 @@ describe Grape::Validations do
1475
1501
 
1476
1502
  context 'all or none' do
1477
1503
  context 'optional params' do
1478
- before :each do
1504
+ before do
1479
1505
  subject.resource :custom_message do
1480
1506
  params do
1481
1507
  optional :beer
@@ -1488,17 +1514,20 @@ describe Grape::Validations do
1488
1514
  end
1489
1515
  end
1490
1516
  end
1517
+
1491
1518
  context 'with a custom validation message' do
1492
1519
  it 'errors when any one is present' do
1493
1520
  get '/custom_message/all_or_none', beer: 'string'
1494
1521
  expect(last_response.status).to eq(400)
1495
1522
  expect(last_response.body).to eq 'beer, wine, juice all params are required or none is required'
1496
1523
  end
1524
+
1497
1525
  it 'works when all params are present' do
1498
1526
  get '/custom_message/all_or_none', beer: 'string', wine: 'anotherstring', juice: 'anotheranotherstring'
1499
1527
  expect(last_response.status).to eq(200)
1500
1528
  expect(last_response.body).to eq 'all_or_none works!'
1501
1529
  end
1530
+
1502
1531
  it 'works when none are present' do
1503
1532
  get '/custom_message/all_or_none'
1504
1533
  expect(last_response.status).to eq(200)
@@ -1662,7 +1691,7 @@ describe Grape::Validations do
1662
1691
 
1663
1692
  context 'exactly one of' do
1664
1693
  context 'params' do
1665
- before :each do
1694
+ before do
1666
1695
  subject.resources :custom_message do
1667
1696
  params do
1668
1697
  optional :beer
@@ -1726,7 +1755,7 @@ describe Grape::Validations do
1726
1755
  end
1727
1756
 
1728
1757
  context 'nested params' do
1729
- before :each do
1758
+ before do
1730
1759
  subject.params do
1731
1760
  requires :nested, type: Hash do
1732
1761
  optional :beer_nested
@@ -1768,7 +1797,7 @@ describe Grape::Validations do
1768
1797
 
1769
1798
  context 'at least one of' do
1770
1799
  context 'params' do
1771
- before :each do
1800
+ before do
1772
1801
  subject.resources :custom_message do
1773
1802
  params do
1774
1803
  optional :beer
@@ -1832,7 +1861,7 @@ describe Grape::Validations do
1832
1861
  end
1833
1862
 
1834
1863
  context 'nested params' do
1835
- before :each do
1864
+ before do
1836
1865
  subject.params do
1837
1866
  requires :nested, type: Hash do
1838
1867
  optional :beer
@@ -6,10 +6,10 @@ require 'grape'
6
6
  describe Grape do
7
7
  it 'eager_load!' do
8
8
  require 'grape/eager_load'
9
- expect { Grape.eager_load! }.to_not raise_error
9
+ expect { described_class.eager_load! }.not_to raise_error
10
10
  end
11
11
 
12
12
  it 'compile!' do
13
- expect { Class.new(Grape::API).compile! }.to_not raise_error
13
+ expect { Class.new(Grape::API).compile! }.not_to raise_error
14
14
  end
15
15
  end
@@ -4,6 +4,6 @@ require 'spec_helper'
4
4
 
5
5
  describe Grape::Json do
6
6
  it 'uses multi_json' do
7
- expect(Grape::Json).to eq(::MultiJson)
7
+ expect(described_class).to eq(::MultiJson)
8
8
  end
9
9
  end
@@ -4,6 +4,6 @@ require 'spec_helper'
4
4
 
5
5
  describe Grape::Xml do
6
6
  it 'uses multi_xml' do
7
- expect(Grape::Xml).to eq(::MultiXml)
7
+ expect(described_class).to eq(::MultiXml)
8
8
  end
9
9
  end
@@ -35,14 +35,14 @@ shared_examples_for 'versioning' do
35
35
  end
36
36
 
37
37
  versioned_get '/awesome', 'v1', **macro_options
38
- expect(last_response.status).to eql 404
38
+ expect(last_response.status).to be 404
39
39
 
40
40
  versioned_get '/awesome', 'v2', **macro_options
41
- expect(last_response.status).to eql 200
41
+ expect(last_response.status).to be 200
42
42
  versioned_get '/legacy', 'v1', **macro_options
43
- expect(last_response.status).to eql 200
43
+ expect(last_response.status).to be 200
44
44
  versioned_get '/legacy', 'v2', **macro_options
45
- expect(last_response.status).to eql 404
45
+ expect(last_response.status).to be 404
46
46
  end
47
47
 
48
48
  it 'is able to specify multiple versions' do
@@ -52,11 +52,11 @@ shared_examples_for 'versioning' do
52
52
  end
53
53
 
54
54
  versioned_get '/awesome', 'v1', **macro_options
55
- expect(last_response.status).to eql 200
55
+ expect(last_response.status).to be 200
56
56
  versioned_get '/awesome', 'v2', **macro_options
57
- expect(last_response.status).to eql 200
57
+ expect(last_response.status).to be 200
58
58
  versioned_get '/awesome', 'v3', **macro_options
59
- expect(last_response.status).to eql 404
59
+ expect(last_response.status).to be 404
60
60
  end
61
61
 
62
62
  context 'with different versions for the same endpoint' do
@@ -117,6 +117,7 @@ shared_examples_for 'versioning' do
117
117
  before do
118
118
  @output ||= 'v2-'
119
119
  end
120
+
120
121
  get 'version' do
121
122
  @output += 'version'
122
123
  end
@@ -126,6 +127,7 @@ shared_examples_for 'versioning' do
126
127
  before do
127
128
  @output ||= 'v1-'
128
129
  end
130
+
129
131
  get 'version' do
130
132
  @output += 'version'
131
133
  end
@@ -170,6 +172,7 @@ shared_examples_for 'versioning' do
170
172
  end
171
173
  klass
172
174
  end
175
+
173
176
  before do
174
177
  subject.format :txt
175
178
 
data/spec/spec_helper.rb CHANGED
@@ -5,6 +5,15 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
5
5
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), 'support'))
6
6
 
7
7
  require 'grape'
8
+ require 'test_prof/recipes/rspec/let_it_be'
9
+
10
+ class NullAdapter
11
+ def begin_transaction; end
12
+
13
+ def rollback_transaction; end
14
+ end
15
+
16
+ TestProf::BeforeAll.adapter = NullAdapter.new
8
17
 
9
18
  require 'rubygems'
10
19
  require 'bundler'
@@ -27,7 +36,8 @@ RSpec.configure do |config|
27
36
  config.filter_run_when_matching :focus
28
37
  config.warnings = true
29
38
 
30
- config.before(:each) { Grape::Util::InheritableSetting.reset_global! }
39
+ config.before(:all) { Grape::Util::InheritableSetting.reset_global! }
40
+ config.before { Grape::Util::InheritableSetting.reset_global! }
31
41
 
32
42
  # Enable flags like --only-failures and --next-failure
33
43
  config.example_status_persistence_file_path = '.rspec_status'
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.6.0
4
+ version: 1.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Bleigh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-04 00:00:00.000000000 Z
11
+ date: 2021-12-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -371,9 +371,9 @@ licenses:
371
371
  - MIT
372
372
  metadata:
373
373
  bug_tracker_uri: https://github.com/ruby-grape/grape/issues
374
- changelog_uri: https://github.com/ruby-grape/grape/blob/v1.6.0/CHANGELOG.md
375
- documentation_uri: https://www.rubydoc.info/gems/grape/1.6.0
376
- source_code_uri: https://github.com/ruby-grape/grape/tree/v1.6.0
374
+ changelog_uri: https://github.com/ruby-grape/grape/blob/v1.6.2/CHANGELOG.md
375
+ documentation_uri: https://www.rubydoc.info/gems/grape/1.6.2
376
+ source_code_uri: https://github.com/ruby-grape/grape/tree/v1.6.2
377
377
  post_install_message:
378
378
  rdoc_options: []
379
379
  require_paths:
@@ -389,123 +389,123 @@ required_rubygems_version: !ruby/object:Gem::Requirement
389
389
  - !ruby/object:Gem::Version
390
390
  version: '0'
391
391
  requirements: []
392
- rubygems_version: 3.1.3
392
+ rubygems_version: 3.3.0.dev
393
393
  signing_key:
394
394
  specification_version: 4
395
395
  summary: A simple Ruby framework for building REST-like APIs.
396
396
  test_files:
397
- - spec/spec_helper.rb
398
- - spec/integration/eager_load/eager_load_spec.rb
399
- - spec/integration/multi_xml/xml_spec.rb
400
- - spec/integration/multi_json/json_spec.rb
401
- - spec/shared/versioning_examples.rb
402
- - spec/support/basic_auth_encode_helpers.rb
403
- - spec/support/endpoint_faker.rb
404
- - spec/support/chunks.rb
405
- - spec/support/file_streamer.rb
406
- - spec/support/versioned_helpers.rb
407
- - spec/support/content_type_helpers.rb
408
- - spec/support/eager_load.rb
409
- - spec/support/integer_helpers.rb
410
- - spec/grape/middleware/error_spec.rb
411
- - spec/grape/middleware/globals_spec.rb
412
- - spec/grape/middleware/formatter_spec.rb
413
- - spec/grape/middleware/auth/strategies_spec.rb
414
- - spec/grape/middleware/auth/dsl_spec.rb
415
- - spec/grape/middleware/auth/base_spec.rb
416
- - spec/grape/middleware/stack_spec.rb
417
- - spec/grape/middleware/exception_spec.rb
418
- - spec/grape/middleware/versioner_spec.rb
419
- - spec/grape/middleware/versioner/accept_version_header_spec.rb
420
- - spec/grape/middleware/versioner/header_spec.rb
421
- - spec/grape/middleware/versioner/path_spec.rb
422
- - spec/grape/middleware/versioner/param_spec.rb
423
- - spec/grape/middleware/base_spec.rb
397
+ - spec/grape/api/custom_validations_spec.rb
398
+ - spec/grape/api/deeply_included_options_spec.rb
399
+ - spec/grape/api/defines_boolean_in_params_spec.rb
400
+ - spec/grape/api/inherited_helpers_spec.rb
401
+ - spec/grape/api/instance_spec.rb
402
+ - spec/grape/api/invalid_format_spec.rb
403
+ - spec/grape/api/namespace_parameters_in_route_spec.rb
404
+ - spec/grape/api/nested_helpers_spec.rb
405
+ - spec/grape/api/optional_parameters_in_route_spec.rb
406
+ - spec/grape/api/parameters_modification_spec.rb
407
+ - spec/grape/api/patch_method_helpers_spec.rb
408
+ - spec/grape/api/recognize_path_spec.rb
409
+ - spec/grape/api/required_parameters_in_route_spec.rb
410
+ - spec/grape/api/required_parameters_with_invalid_method_spec.rb
411
+ - spec/grape/api/routes_with_requirements_spec.rb
412
+ - spec/grape/api/shared_helpers_exactly_one_of_spec.rb
413
+ - spec/grape/api/shared_helpers_spec.rb
414
+ - spec/grape/api_remount_spec.rb
415
+ - spec/grape/api_spec.rb
424
416
  - spec/grape/config_spec.rb
425
- - spec/grape/loading_spec.rb
417
+ - spec/grape/dsl/callbacks_spec.rb
418
+ - spec/grape/dsl/configuration_spec.rb
419
+ - spec/grape/dsl/desc_spec.rb
420
+ - spec/grape/dsl/headers_spec.rb
421
+ - spec/grape/dsl/helpers_spec.rb
422
+ - spec/grape/dsl/inside_route_spec.rb
423
+ - spec/grape/dsl/logger_spec.rb
424
+ - spec/grape/dsl/middleware_spec.rb
425
+ - spec/grape/dsl/parameters_spec.rb
426
+ - spec/grape/dsl/request_response_spec.rb
427
+ - spec/grape/dsl/routing_spec.rb
428
+ - spec/grape/dsl/settings_spec.rb
429
+ - spec/grape/dsl/validations_spec.rb
430
+ - spec/grape/endpoint/declared_spec.rb
426
431
  - spec/grape/endpoint_spec.rb
427
- - spec/grape/api_spec.rb
428
- - spec/grape/util/reverse_stackable_values_spec.rb
429
- - spec/grape/util/stackable_values_spec.rb
430
- - spec/grape/util/inheritable_setting_spec.rb
431
- - spec/grape/util/strict_hash_configuration_spec.rb
432
- - spec/grape/util/inheritable_values_spec.rb
433
- - spec/grape/integration/rack_spec.rb
434
- - spec/grape/integration/rack_sendfile_spec.rb
435
- - spec/grape/integration/global_namespace_function_spec.rb
436
- - spec/grape/validations_spec.rb
437
432
  - spec/grape/entity_spec.rb
438
- - spec/grape/exceptions/validation_spec.rb
439
- - spec/grape/exceptions/invalid_accept_header_spec.rb
440
- - spec/grape/exceptions/missing_option_spec.rb
441
- - spec/grape/exceptions/invalid_response_spec.rb
433
+ - spec/grape/exceptions/base_spec.rb
442
434
  - spec/grape/exceptions/body_parse_errors_spec.rb
435
+ - spec/grape/exceptions/invalid_accept_header_spec.rb
443
436
  - spec/grape/exceptions/invalid_formatter_spec.rb
437
+ - spec/grape/exceptions/invalid_response_spec.rb
438
+ - spec/grape/exceptions/invalid_versioner_option_spec.rb
444
439
  - spec/grape/exceptions/missing_mime_type_spec.rb
440
+ - spec/grape/exceptions/missing_option_spec.rb
445
441
  - spec/grape/exceptions/unknown_options_spec.rb
446
- - spec/grape/exceptions/validation_errors_spec.rb
447
442
  - spec/grape/exceptions/unknown_validator_spec.rb
448
- - spec/grape/exceptions/invalid_versioner_option_spec.rb
449
- - spec/grape/exceptions/base_spec.rb
443
+ - spec/grape/exceptions/validation_errors_spec.rb
444
+ - spec/grape/exceptions/validation_spec.rb
445
+ - spec/grape/extensions/param_builders/hash_spec.rb
446
+ - spec/grape/extensions/param_builders/hash_with_indifferent_access_spec.rb
447
+ - spec/grape/extensions/param_builders/hashie/mash_spec.rb
448
+ - spec/grape/integration/global_namespace_function_spec.rb
449
+ - spec/grape/integration/rack_sendfile_spec.rb
450
+ - spec/grape/integration/rack_spec.rb
451
+ - spec/grape/loading_spec.rb
452
+ - spec/grape/middleware/auth/base_spec.rb
453
+ - spec/grape/middleware/auth/dsl_spec.rb
454
+ - spec/grape/middleware/auth/strategies_spec.rb
455
+ - spec/grape/middleware/base_spec.rb
456
+ - spec/grape/middleware/error_spec.rb
457
+ - spec/grape/middleware/exception_spec.rb
458
+ - spec/grape/middleware/formatter_spec.rb
459
+ - spec/grape/middleware/globals_spec.rb
460
+ - spec/grape/middleware/stack_spec.rb
461
+ - spec/grape/middleware/versioner/accept_version_header_spec.rb
462
+ - spec/grape/middleware/versioner/header_spec.rb
463
+ - spec/grape/middleware/versioner/param_spec.rb
464
+ - spec/grape/middleware/versioner/path_spec.rb
465
+ - spec/grape/middleware/versioner_spec.rb
466
+ - spec/grape/named_api_spec.rb
467
+ - spec/grape/parser_spec.rb
468
+ - spec/grape/path_spec.rb
450
469
  - spec/grape/presenters/presenter_spec.rb
451
- - spec/grape/validations/single_attribute_iterator_spec.rb
470
+ - spec/grape/request_spec.rb
471
+ - spec/grape/util/inheritable_setting_spec.rb
472
+ - spec/grape/util/inheritable_values_spec.rb
473
+ - spec/grape/util/reverse_stackable_values_spec.rb
474
+ - spec/grape/util/stackable_values_spec.rb
475
+ - spec/grape/util/strict_hash_configuration_spec.rb
452
476
  - spec/grape/validations/attributes_iterator_spec.rb
453
- - spec/grape/validations/types/primitive_coercer_spec.rb
454
- - spec/grape/validations/types/set_coercer_spec.rb
455
- - spec/grape/validations/types/array_coercer_spec.rb
456
- - spec/grape/validations/params_scope_spec.rb
457
477
  - spec/grape/validations/instance_behaivour_spec.rb
458
478
  - spec/grape/validations/multiple_attributes_iterator_spec.rb
479
+ - spec/grape/validations/params_scope_spec.rb
480
+ - spec/grape/validations/single_attribute_iterator_spec.rb
481
+ - spec/grape/validations/types/array_coercer_spec.rb
482
+ - spec/grape/validations/types/primitive_coercer_spec.rb
483
+ - spec/grape/validations/types/set_coercer_spec.rb
459
484
  - spec/grape/validations/types_spec.rb
460
- - spec/grape/validations/validators/regexp_spec.rb
461
- - spec/grape/validations/validators/mutual_exclusion_spec.rb
485
+ - spec/grape/validations/validators/all_or_none_spec.rb
486
+ - spec/grape/validations/validators/allow_blank_spec.rb
487
+ - spec/grape/validations/validators/at_least_one_of_spec.rb
488
+ - spec/grape/validations/validators/coerce_spec.rb
489
+ - spec/grape/validations/validators/default_spec.rb
462
490
  - spec/grape/validations/validators/exactly_one_of_spec.rb
463
491
  - spec/grape/validations/validators/except_values_spec.rb
492
+ - spec/grape/validations/validators/mutual_exclusion_spec.rb
464
493
  - spec/grape/validations/validators/presence_spec.rb
465
- - spec/grape/validations/validators/all_or_none_spec.rb
466
- - spec/grape/validations/validators/allow_blank_spec.rb
494
+ - spec/grape/validations/validators/regexp_spec.rb
467
495
  - spec/grape/validations/validators/same_as_spec.rb
468
- - spec/grape/validations/validators/default_spec.rb
469
496
  - spec/grape/validations/validators/values_spec.rb
470
- - spec/grape/validations/validators/at_least_one_of_spec.rb
471
- - spec/grape/validations/validators/coerce_spec.rb
472
497
  - spec/grape/validations/validators/zh-CN.yml
473
- - spec/grape/extensions/param_builders/hashie/mash_spec.rb
474
- - spec/grape/extensions/param_builders/hash_spec.rb
475
- - spec/grape/extensions/param_builders/hash_with_indifferent_access_spec.rb
476
- - spec/grape/parser_spec.rb
477
- - spec/grape/request_spec.rb
478
- - spec/grape/endpoint/declared_spec.rb
479
- - spec/grape/api/parameters_modification_spec.rb
480
- - spec/grape/api/patch_method_helpers_spec.rb
481
- - spec/grape/api/required_parameters_with_invalid_method_spec.rb
482
- - spec/grape/api/nested_helpers_spec.rb
483
- - spec/grape/api/defines_boolean_in_params_spec.rb
484
- - spec/grape/api/invalid_format_spec.rb
485
- - spec/grape/api/required_parameters_in_route_spec.rb
486
- - spec/grape/api/instance_spec.rb
487
- - spec/grape/api/namespace_parameters_in_route_spec.rb
488
- - spec/grape/api/recognize_path_spec.rb
489
- - spec/grape/api/shared_helpers_exactly_one_of_spec.rb
490
- - spec/grape/api/inherited_helpers_spec.rb
491
- - spec/grape/api/shared_helpers_spec.rb
492
- - spec/grape/api/deeply_included_options_spec.rb
493
- - spec/grape/api/routes_with_requirements_spec.rb
494
- - spec/grape/api/custom_validations_spec.rb
495
- - spec/grape/api/optional_parameters_in_route_spec.rb
496
- - spec/grape/api_remount_spec.rb
497
- - spec/grape/named_api_spec.rb
498
- - spec/grape/dsl/request_response_spec.rb
499
- - spec/grape/dsl/desc_spec.rb
500
- - spec/grape/dsl/logger_spec.rb
501
- - spec/grape/dsl/configuration_spec.rb
502
- - spec/grape/dsl/validations_spec.rb
503
- - spec/grape/dsl/parameters_spec.rb
504
- - spec/grape/dsl/helpers_spec.rb
505
- - spec/grape/dsl/middleware_spec.rb
506
- - spec/grape/dsl/headers_spec.rb
507
- - spec/grape/dsl/callbacks_spec.rb
508
- - spec/grape/dsl/settings_spec.rb
509
- - spec/grape/dsl/routing_spec.rb
510
- - spec/grape/dsl/inside_route_spec.rb
511
- - spec/grape/path_spec.rb
498
+ - spec/grape/validations_spec.rb
499
+ - spec/integration/eager_load/eager_load_spec.rb
500
+ - spec/integration/multi_json/json_spec.rb
501
+ - spec/integration/multi_xml/xml_spec.rb
502
+ - spec/shared/versioning_examples.rb
503
+ - spec/spec_helper.rb
504
+ - spec/support/basic_auth_encode_helpers.rb
505
+ - spec/support/chunks.rb
506
+ - spec/support/content_type_helpers.rb
507
+ - spec/support/eager_load.rb
508
+ - spec/support/endpoint_faker.rb
509
+ - spec/support/file_streamer.rb
510
+ - spec/support/integer_helpers.rb
511
+ - spec/support/versioned_helpers.rb