grape 1.3.3 → 1.4.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.
@@ -4,12 +4,16 @@ require 'spec_helper'
4
4
 
5
5
  describe Rack::Sendfile do
6
6
  subject do
7
- send_file = file_streamer
7
+ content_object = file_object
8
8
  app = Class.new(Grape::API) do
9
9
  use Rack::Sendfile
10
10
  format :json
11
11
  get do
12
- file send_file
12
+ if content_object.is_a?(String)
13
+ sendfile content_object
14
+ else
15
+ stream content_object
16
+ end
13
17
  end
14
18
  end
15
19
 
@@ -22,9 +26,9 @@ describe Rack::Sendfile do
22
26
  app.call(env)
23
27
  end
24
28
 
25
- context do
26
- let(:file_streamer) do
27
- double(:file_streamer, to_path: '/accel/mapping/some/path')
29
+ context 'when calling sendfile' do
30
+ let(:file_object) do
31
+ '/accel/mapping/some/path'
28
32
  end
29
33
 
30
34
  it 'contains Sendfile headers' do
@@ -33,9 +37,9 @@ describe Rack::Sendfile do
33
37
  end
34
38
  end
35
39
 
36
- context do
37
- let(:file_streamer) do
38
- double(:file_streamer)
40
+ context 'when streaming non file content' do
41
+ let(:file_object) do
42
+ double(:file_object, each: nil)
39
43
  end
40
44
 
41
45
  it 'not contains Sendfile headers' do
@@ -36,7 +36,7 @@ describe Grape::Middleware::Auth::Strategies do
36
36
  RSpec::Matchers.define :be_challenge do
37
37
  match do |actual_response|
38
38
  actual_response.status == 401 &&
39
- actual_response['WWW-Authenticate'] =~ /^Digest / &&
39
+ actual_response['WWW-Authenticate'].start_with?('Digest ') &&
40
40
  actual_response.body.empty?
41
41
  end
42
42
  end
@@ -380,7 +380,7 @@ describe Grape::Middleware::Formatter do
380
380
 
381
381
  context 'send file' do
382
382
  let(:file) { double(File) }
383
- let(:file_body) { Grape::ServeFile::FileResponse.new(file) }
383
+ let(:file_body) { Grape::ServeStream::StreamResponse.new(file) }
384
384
  let(:app) { ->(_env) { [200, {}, file_body] } }
385
385
 
386
386
  it 'returns a file response' do
@@ -8,6 +8,18 @@ describe Grape::Validations::Types::PrimitiveCoercer do
8
8
  subject { described_class.new(type, strict) }
9
9
 
10
10
  describe '#call' do
11
+ context 'BigDecimal' do
12
+ let(:type) { BigDecimal }
13
+
14
+ it 'coerces to BigDecimal' do
15
+ expect(subject.call(5)).to eq(BigDecimal(5))
16
+ end
17
+
18
+ it 'coerces an empty string to nil' do
19
+ expect(subject.call('')).to be_nil
20
+ end
21
+ end
22
+
11
23
  context 'Boolean' do
12
24
  let(:type) { Grape::API::Boolean }
13
25
 
@@ -32,19 +44,63 @@ describe Grape::Validations::Types::PrimitiveCoercer do
32
44
  end
33
45
  end
34
46
 
47
+ context 'DateTime' do
48
+ let(:type) { DateTime }
49
+
50
+ it 'coerces an empty string to nil' do
51
+ expect(subject.call('')).to be_nil
52
+ end
53
+ end
54
+
55
+ context 'Float' do
56
+ let(:type) { Float }
57
+
58
+ it 'coerces an empty string to nil' do
59
+ expect(subject.call('')).to be_nil
60
+ end
61
+ end
62
+
63
+ context 'Integer' do
64
+ let(:type) { Integer }
65
+
66
+ it 'coerces an empty string to nil' do
67
+ expect(subject.call('')).to be_nil
68
+ end
69
+ end
70
+
71
+ context 'Numeric' do
72
+ let(:type) { Numeric }
73
+
74
+ it 'coerces an empty string to nil' do
75
+ expect(subject.call('')).to be_nil
76
+ end
77
+ end
78
+
79
+ context 'Time' do
80
+ let(:type) { Time }
81
+
82
+ it 'coerces an empty string to nil' do
83
+ expect(subject.call('')).to be_nil
84
+ end
85
+ end
86
+
35
87
  context 'String' do
36
88
  let(:type) { String }
37
89
 
38
90
  it 'coerces to String' do
39
91
  expect(subject.call(10)).to eq('10')
40
92
  end
93
+
94
+ it 'does not coerce an empty string to nil' do
95
+ expect(subject.call('')).to eq('')
96
+ end
41
97
  end
42
98
 
43
- context 'BigDecimal' do
44
- let(:type) { BigDecimal }
99
+ context 'Symbol' do
100
+ let(:type) { Symbol }
45
101
 
46
- it 'coerces to BigDecimal' do
47
- expect(subject.call(5)).to eq(BigDecimal(5))
102
+ it 'coerces an empty string to nil' do
103
+ expect(subject.call('')).to be_nil
48
104
  end
49
105
  end
50
106
 
@@ -497,6 +497,92 @@ describe Grape::Validations::CoerceValidator do
497
497
  end
498
498
  end
499
499
  end
500
+
501
+ context 'empty string' do
502
+ context 'primitive types' do
503
+ (Grape::Validations::Types::PRIMITIVES - [String]).each do |type|
504
+ it "is coerced to nil for type #{type}" do
505
+ subject.params do
506
+ requires :param, type: type
507
+ end
508
+ subject.get '/empty_string' do
509
+ params[:param].class
510
+ end
511
+
512
+ get '/empty_string', param: ''
513
+ expect(last_response.status).to eq(200)
514
+ expect(last_response.body).to eq('NilClass')
515
+ end
516
+ end
517
+
518
+ it 'is not coerced to nil for type String' do
519
+ subject.params do
520
+ requires :param, type: String
521
+ end
522
+ subject.get '/empty_string' do
523
+ params[:param].class
524
+ end
525
+
526
+ get '/empty_string', param: ''
527
+ expect(last_response.status).to eq(200)
528
+ expect(last_response.body).to eq('String')
529
+ end
530
+ end
531
+
532
+ context 'structures types' do
533
+ (Grape::Validations::Types::STRUCTURES - [Hash]).each do |type|
534
+ it "is coerced to nil for type #{type}" do
535
+ subject.params do
536
+ requires :param, type: type
537
+ end
538
+ subject.get '/empty_string' do
539
+ params[:param].class
540
+ end
541
+
542
+ get '/empty_string', param: ''
543
+ expect(last_response.status).to eq(200)
544
+ expect(last_response.body).to eq('NilClass')
545
+ end
546
+ end
547
+ end
548
+
549
+ context 'special types' do
550
+ (Grape::Validations::Types::SPECIAL.keys - [File, Rack::Multipart::UploadedFile]).each do |type|
551
+ it "is coerced to nil for type #{type}" do
552
+ subject.params do
553
+ requires :param, type: type
554
+ end
555
+ subject.get '/empty_string' do
556
+ params[:param].class
557
+ end
558
+
559
+ get '/empty_string', param: ''
560
+ expect(last_response.status).to eq(200)
561
+ expect(last_response.body).to eq('NilClass')
562
+ end
563
+ end
564
+
565
+ context 'variant-member-type collections' do
566
+ [
567
+ Array[Integer, String],
568
+ [Integer, String, Array[Integer, String]]
569
+ ].each do |type|
570
+ it "is coerced to nil for type #{type}" do
571
+ subject.params do
572
+ requires :param, type: type
573
+ end
574
+ subject.get '/empty_string' do
575
+ params[:param].class
576
+ end
577
+
578
+ get '/empty_string', param: ''
579
+ expect(last_response.status).to eq(200)
580
+ expect(last_response.body).to eq('NilClass')
581
+ end
582
+ end
583
+ end
584
+ end
585
+ end
500
586
  end
501
587
 
502
588
  context 'using coerce_with' do
@@ -9,6 +9,10 @@ describe Grape::Validations do
9
9
  subject
10
10
  end
11
11
 
12
+ def declared_params
13
+ subject.namespace_stackable(:declared_params).flatten
14
+ end
15
+
12
16
  describe 'params' do
13
17
  context 'optional' do
14
18
  before do
@@ -41,7 +45,7 @@ describe Grape::Validations do
41
45
  subject.params do
42
46
  optional :some_param
43
47
  end
44
- expect(subject.route_setting(:declared_params)).to eq([:some_param])
48
+ expect(declared_params).to eq([:some_param])
45
49
  end
46
50
  end
47
51
 
@@ -61,7 +65,7 @@ describe Grape::Validations do
61
65
 
62
66
  it 'adds entity documentation to declared params' do
63
67
  define_optional_using
64
- expect(subject.route_setting(:declared_params)).to eq(%i[field_a field_b])
68
+ expect(declared_params).to eq(%i[field_a field_b])
65
69
  end
66
70
 
67
71
  it 'works when field_a and field_b are not present' do
@@ -108,7 +112,7 @@ describe Grape::Validations do
108
112
  subject.params do
109
113
  requires :some_param
110
114
  end
111
- expect(subject.route_setting(:declared_params)).to eq([:some_param])
115
+ expect(declared_params).to eq([:some_param])
112
116
  end
113
117
 
114
118
  it 'works when required field is present but nil' do
@@ -193,7 +197,7 @@ describe Grape::Validations do
193
197
 
194
198
  it 'adds entity documentation to declared params' do
195
199
  define_requires_all
196
- expect(subject.route_setting(:declared_params)).to eq(%i[required_field optional_field])
200
+ expect(declared_params).to eq(%i[required_field optional_field])
197
201
  end
198
202
 
199
203
  it 'errors when required_field is not present' do
@@ -228,7 +232,7 @@ describe Grape::Validations do
228
232
 
229
233
  it 'adds entity documentation to declared params' do
230
234
  define_requires_none
231
- expect(subject.route_setting(:declared_params)).to eq(%i[required_field optional_field])
235
+ expect(declared_params).to eq(%i[required_field optional_field])
232
236
  end
233
237
 
234
238
  it 'errors when required_field is not present' do
@@ -258,7 +262,7 @@ describe Grape::Validations do
258
262
 
259
263
  it 'adds only the entity documentation to declared params, nothing more' do
260
264
  define_requires_all
261
- expect(subject.route_setting(:declared_params)).to eq(%i[required_field optional_field])
265
+ expect(declared_params).to eq(%i[required_field optional_field])
262
266
  end
263
267
  end
264
268
 
@@ -324,7 +328,7 @@ describe Grape::Validations do
324
328
  requires :key
325
329
  end
326
330
  end
327
- expect(subject.route_setting(:declared_params)).to eq([items: [:key]])
331
+ expect(declared_params).to eq([items: [:key]])
328
332
  end
329
333
  end
330
334
 
@@ -396,7 +400,7 @@ describe Grape::Validations do
396
400
  requires :key
397
401
  end
398
402
  end
399
- expect(subject.route_setting(:declared_params)).to eq([items: [:key]])
403
+ expect(declared_params).to eq([items: [:key]])
400
404
  end
401
405
  end
402
406
 
@@ -459,7 +463,7 @@ describe Grape::Validations do
459
463
  requires :key
460
464
  end
461
465
  end
462
- expect(subject.route_setting(:declared_params)).to eq([items: [:key]])
466
+ expect(declared_params).to eq([items: [:key]])
463
467
  end
464
468
  end
465
469
 
@@ -813,7 +817,7 @@ describe Grape::Validations do
813
817
  requires :key
814
818
  end
815
819
  end
816
- expect(subject.route_setting(:declared_params)).to eq([items: [:key]])
820
+ expect(declared_params).to eq([items: [:key]])
817
821
  end
818
822
  end
819
823
 
@@ -877,7 +881,7 @@ describe Grape::Validations do
877
881
  requires(:required_subitems, type: Array) { requires :value }
878
882
  end
879
883
  end
880
- expect(subject.route_setting(:declared_params)).to eq([items: [:key, { optional_subitems: [:value] }, { required_subitems: [:value] }]])
884
+ expect(declared_params).to eq([items: [:key, { optional_subitems: [:value] }, { required_subitems: [:value] }]])
881
885
  end
882
886
  end
883
887
 
@@ -1122,14 +1126,14 @@ describe Grape::Validations do
1122
1126
  subject.params do
1123
1127
  use :pagination
1124
1128
  end
1125
- expect(subject.route_setting(:declared_params)).to eq %i[page per_page]
1129
+ expect(declared_params).to eq %i[page per_page]
1126
1130
  end
1127
1131
 
1128
1132
  it 'by #use with multiple params' do
1129
1133
  subject.params do
1130
1134
  use :pagination, :period
1131
1135
  end
1132
- expect(subject.route_setting(:declared_params)).to eq %i[page per_page start_date end_date]
1136
+ expect(declared_params).to eq %i[page per_page start_date end_date]
1133
1137
  end
1134
1138
  end
1135
1139
 
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
4
+ require 'grape'
5
+
6
+ describe Grape do
7
+ it 'eager_load!' do
8
+ require 'grape/eager_load'
9
+ expect { Grape.eager_load! }.to_not raise_error
10
+ end
11
+
12
+ it 'compile!' do
13
+ expect { Class.new(Grape::API).compile! }.to_not raise_error
14
+ end
15
+ end
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.3.3
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Bleigh
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-23 00:00:00.000000000 Z
11
+ date: 2020-07-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -197,9 +197,9 @@ files:
197
197
  - lib/grape/router/attribute_translator.rb
198
198
  - lib/grape/router/pattern.rb
199
199
  - lib/grape/router/route.rb
200
- - lib/grape/serve_file/file_body.rb
201
- - lib/grape/serve_file/file_response.rb
202
- - lib/grape/serve_file/sendfile_response.rb
200
+ - lib/grape/serve_stream/file_body.rb
201
+ - lib/grape/serve_stream/sendfile_response.rb
202
+ - lib/grape/serve_stream/stream_response.rb
203
203
  - lib/grape/util/base_inheritable.rb
204
204
  - lib/grape/util/cache.rb
205
205
  - lib/grape/util/endpoint_configuration.rb
@@ -350,6 +350,7 @@ files:
350
350
  - spec/grape/validations/validators/values_spec.rb
351
351
  - spec/grape/validations/validators/zh-CN.yml
352
352
  - spec/grape/validations_spec.rb
353
+ - spec/integration/eager_load/eager_load_spec.rb
353
354
  - spec/integration/multi_json/json_spec.rb
354
355
  - spec/integration/multi_xml/xml_spec.rb
355
356
  - spec/shared/versioning_examples.rb
@@ -366,10 +367,10 @@ licenses:
366
367
  - MIT
367
368
  metadata:
368
369
  bug_tracker_uri: https://github.com/ruby-grape/grape/issues
369
- changelog_uri: https://github.com/ruby-grape/grape/blob/v1.3.3/CHANGELOG.md
370
- documentation_uri: https://www.rubydoc.info/gems/grape/1.3.3
371
- source_code_uri: https://github.com/ruby-grape/grape/tree/v1.3.3
372
- post_install_message:
370
+ changelog_uri: https://github.com/ruby-grape/grape/blob/v1.4.0/CHANGELOG.md
371
+ documentation_uri: https://www.rubydoc.info/gems/grape/1.4.0
372
+ source_code_uri: https://github.com/ruby-grape/grape/tree/v1.4.0
373
+ post_install_message:
373
374
  rdoc_options: []
374
375
  require_paths:
375
376
  - lib
@@ -384,120 +385,121 @@ required_rubygems_version: !ruby/object:Gem::Requirement
384
385
  - !ruby/object:Gem::Version
385
386
  version: '0'
386
387
  requirements: []
387
- rubygems_version: 3.0.3
388
- signing_key:
388
+ rubygems_version: 3.1.3
389
+ signing_key:
389
390
  specification_version: 4
390
391
  summary: A simple Ruby framework for building REST-like APIs.
391
392
  test_files:
393
+ - spec/spec_helper.rb
394
+ - spec/integration/eager_load/eager_load_spec.rb
395
+ - spec/integration/multi_xml/xml_spec.rb
396
+ - spec/integration/multi_json/json_spec.rb
392
397
  - spec/shared/versioning_examples.rb
398
+ - spec/support/basic_auth_encode_helpers.rb
399
+ - spec/support/endpoint_faker.rb
400
+ - spec/support/file_streamer.rb
393
401
  - spec/support/versioned_helpers.rb
394
402
  - spec/support/content_type_helpers.rb
395
403
  - spec/support/eager_load.rb
396
- - spec/support/basic_auth_encode_helpers.rb
397
- - spec/support/file_streamer.rb
398
- - spec/support/endpoint_faker.rb
399
404
  - spec/support/integer_helpers.rb
400
- - spec/grape/api/namespace_parameters_in_route_spec.rb
401
- - spec/grape/api/routes_with_requirements_spec.rb
402
- - spec/grape/api/nested_helpers_spec.rb
403
- - spec/grape/api/required_parameters_in_route_spec.rb
404
- - spec/grape/api/shared_helpers_exactly_one_of_spec.rb
405
- - spec/grape/api/parameters_modification_spec.rb
406
- - spec/grape/api/optional_parameters_in_route_spec.rb
407
- - spec/grape/api/inherited_helpers_spec.rb
408
- - spec/grape/api/required_parameters_with_invalid_method_spec.rb
409
- - spec/grape/api/custom_validations_spec.rb
410
- - spec/grape/api/defines_boolean_in_params_spec.rb
411
- - spec/grape/api/shared_helpers_spec.rb
412
- - spec/grape/api/invalid_format_spec.rb
413
- - spec/grape/api/deeply_included_options_spec.rb
414
- - spec/grape/api/instance_spec.rb
415
- - spec/grape/api/patch_method_helpers_spec.rb
416
- - spec/grape/api/recognize_path_spec.rb
417
- - spec/grape/api_remount_spec.rb
418
- - spec/grape/validations/types_spec.rb
405
+ - spec/grape/middleware/error_spec.rb
406
+ - spec/grape/middleware/globals_spec.rb
407
+ - spec/grape/middleware/formatter_spec.rb
408
+ - spec/grape/middleware/auth/strategies_spec.rb
409
+ - spec/grape/middleware/auth/dsl_spec.rb
410
+ - spec/grape/middleware/auth/base_spec.rb
411
+ - spec/grape/middleware/stack_spec.rb
412
+ - spec/grape/middleware/exception_spec.rb
413
+ - spec/grape/middleware/versioner_spec.rb
414
+ - spec/grape/middleware/versioner/accept_version_header_spec.rb
415
+ - spec/grape/middleware/versioner/header_spec.rb
416
+ - spec/grape/middleware/versioner/path_spec.rb
417
+ - spec/grape/middleware/versioner/param_spec.rb
418
+ - spec/grape/middleware/base_spec.rb
419
+ - spec/grape/config_spec.rb
420
+ - spec/grape/loading_spec.rb
421
+ - spec/grape/endpoint_spec.rb
422
+ - spec/grape/api_spec.rb
423
+ - spec/grape/util/reverse_stackable_values_spec.rb
424
+ - spec/grape/util/stackable_values_spec.rb
425
+ - spec/grape/util/inheritable_setting_spec.rb
426
+ - spec/grape/util/strict_hash_configuration_spec.rb
427
+ - spec/grape/util/inheritable_values_spec.rb
428
+ - spec/grape/integration/rack_spec.rb
429
+ - spec/grape/integration/rack_sendfile_spec.rb
430
+ - spec/grape/integration/global_namespace_function_spec.rb
431
+ - spec/grape/validations_spec.rb
432
+ - spec/grape/entity_spec.rb
433
+ - spec/grape/exceptions/validation_spec.rb
434
+ - spec/grape/exceptions/invalid_accept_header_spec.rb
435
+ - spec/grape/exceptions/missing_option_spec.rb
436
+ - spec/grape/exceptions/invalid_response_spec.rb
437
+ - spec/grape/exceptions/body_parse_errors_spec.rb
438
+ - spec/grape/exceptions/invalid_formatter_spec.rb
439
+ - spec/grape/exceptions/missing_mime_type_spec.rb
440
+ - spec/grape/exceptions/unknown_options_spec.rb
441
+ - spec/grape/exceptions/validation_errors_spec.rb
442
+ - spec/grape/exceptions/unknown_validator_spec.rb
443
+ - spec/grape/exceptions/invalid_versioner_option_spec.rb
444
+ - spec/grape/exceptions/base_spec.rb
445
+ - spec/grape/presenters/presenter_spec.rb
446
+ - spec/grape/validations/single_attribute_iterator_spec.rb
419
447
  - spec/grape/validations/attributes_iterator_spec.rb
420
- - spec/grape/validations/types/array_coercer_spec.rb
421
- - spec/grape/validations/types/set_coercer_spec.rb
422
448
  - spec/grape/validations/types/primitive_coercer_spec.rb
449
+ - spec/grape/validations/types/set_coercer_spec.rb
450
+ - spec/grape/validations/types/array_coercer_spec.rb
451
+ - spec/grape/validations/params_scope_spec.rb
452
+ - spec/grape/validations/instance_behaivour_spec.rb
453
+ - spec/grape/validations/multiple_attributes_iterator_spec.rb
454
+ - spec/grape/validations/types_spec.rb
423
455
  - spec/grape/validations/validators/regexp_spec.rb
424
- - spec/grape/validations/validators/default_spec.rb
425
- - spec/grape/validations/validators/values_spec.rb
426
- - spec/grape/validations/validators/same_as_spec.rb
427
456
  - spec/grape/validations/validators/mutual_exclusion_spec.rb
428
- - spec/grape/validations/validators/except_values_spec.rb
429
457
  - spec/grape/validations/validators/exactly_one_of_spec.rb
430
- - spec/grape/validations/validators/allow_blank_spec.rb
431
- - spec/grape/validations/validators/coerce_spec.rb
458
+ - spec/grape/validations/validators/except_values_spec.rb
432
459
  - spec/grape/validations/validators/presence_spec.rb
460
+ - spec/grape/validations/validators/all_or_none_spec.rb
461
+ - spec/grape/validations/validators/allow_blank_spec.rb
462
+ - spec/grape/validations/validators/same_as_spec.rb
463
+ - spec/grape/validations/validators/default_spec.rb
464
+ - spec/grape/validations/validators/values_spec.rb
433
465
  - spec/grape/validations/validators/at_least_one_of_spec.rb
466
+ - spec/grape/validations/validators/coerce_spec.rb
434
467
  - spec/grape/validations/validators/zh-CN.yml
435
- - spec/grape/validations/validators/all_or_none_spec.rb
436
- - spec/grape/validations/params_scope_spec.rb
437
- - spec/grape/validations/multiple_attributes_iterator_spec.rb
438
- - spec/grape/validations/instance_behaivour_spec.rb
439
- - spec/grape/validations/single_attribute_iterator_spec.rb
440
- - spec/grape/config_spec.rb
441
- - spec/grape/parser_spec.rb
442
- - spec/grape/exceptions/body_parse_errors_spec.rb
443
- - spec/grape/exceptions/missing_option_spec.rb
444
- - spec/grape/exceptions/invalid_accept_header_spec.rb
445
- - spec/grape/exceptions/validation_spec.rb
446
- - spec/grape/exceptions/unknown_validator_spec.rb
447
- - spec/grape/exceptions/validation_errors_spec.rb
448
- - spec/grape/exceptions/invalid_response_spec.rb
449
- - spec/grape/exceptions/unknown_options_spec.rb
450
- - spec/grape/exceptions/invalid_formatter_spec.rb
451
- - spec/grape/exceptions/invalid_versioner_option_spec.rb
452
- - spec/grape/exceptions/missing_mime_type_spec.rb
453
- - spec/grape/exceptions/base_spec.rb
454
- - spec/grape/path_spec.rb
455
- - spec/grape/util/stackable_values_spec.rb
456
- - spec/grape/util/strict_hash_configuration_spec.rb
457
- - spec/grape/util/inheritable_setting_spec.rb
458
- - spec/grape/util/reverse_stackable_values_spec.rb
459
- - spec/grape/util/inheritable_values_spec.rb
460
- - spec/grape/extensions/param_builders/hash_with_indifferent_access_spec.rb
461
- - spec/grape/extensions/param_builders/hash_spec.rb
462
468
  - spec/grape/extensions/param_builders/hashie/mash_spec.rb
463
- - spec/grape/integration/rack_spec.rb
464
- - spec/grape/integration/rack_sendfile_spec.rb
465
- - spec/grape/integration/global_namespace_function_spec.rb
466
- - spec/grape/presenters/presenter_spec.rb
467
- - spec/grape/endpoint_spec.rb
468
- - spec/grape/api_spec.rb
469
- - spec/grape/middleware/exception_spec.rb
470
- - spec/grape/middleware/versioner/param_spec.rb
471
- - spec/grape/middleware/versioner/header_spec.rb
472
- - spec/grape/middleware/versioner/path_spec.rb
473
- - spec/grape/middleware/versioner/accept_version_header_spec.rb
474
- - spec/grape/middleware/globals_spec.rb
475
- - spec/grape/middleware/stack_spec.rb
476
- - spec/grape/middleware/formatter_spec.rb
477
- - spec/grape/middleware/error_spec.rb
478
- - spec/grape/middleware/auth/dsl_spec.rb
479
- - spec/grape/middleware/auth/strategies_spec.rb
480
- - spec/grape/middleware/auth/base_spec.rb
481
- - spec/grape/middleware/versioner_spec.rb
482
- - spec/grape/middleware/base_spec.rb
483
- - spec/grape/entity_spec.rb
484
- - spec/grape/dsl/settings_spec.rb
485
- - spec/grape/dsl/callbacks_spec.rb
486
- - spec/grape/dsl/middleware_spec.rb
487
- - spec/grape/dsl/inside_route_spec.rb
469
+ - spec/grape/extensions/param_builders/hash_spec.rb
470
+ - spec/grape/extensions/param_builders/hash_with_indifferent_access_spec.rb
471
+ - spec/grape/parser_spec.rb
472
+ - spec/grape/request_spec.rb
473
+ - spec/grape/api/parameters_modification_spec.rb
474
+ - spec/grape/api/patch_method_helpers_spec.rb
475
+ - spec/grape/api/required_parameters_with_invalid_method_spec.rb
476
+ - spec/grape/api/nested_helpers_spec.rb
477
+ - spec/grape/api/defines_boolean_in_params_spec.rb
478
+ - spec/grape/api/invalid_format_spec.rb
479
+ - spec/grape/api/required_parameters_in_route_spec.rb
480
+ - spec/grape/api/instance_spec.rb
481
+ - spec/grape/api/namespace_parameters_in_route_spec.rb
482
+ - spec/grape/api/recognize_path_spec.rb
483
+ - spec/grape/api/shared_helpers_exactly_one_of_spec.rb
484
+ - spec/grape/api/inherited_helpers_spec.rb
485
+ - spec/grape/api/shared_helpers_spec.rb
486
+ - spec/grape/api/deeply_included_options_spec.rb
487
+ - spec/grape/api/routes_with_requirements_spec.rb
488
+ - spec/grape/api/custom_validations_spec.rb
489
+ - spec/grape/api/optional_parameters_in_route_spec.rb
490
+ - spec/grape/api_remount_spec.rb
491
+ - spec/grape/named_api_spec.rb
492
+ - spec/grape/dsl/request_response_spec.rb
493
+ - spec/grape/dsl/desc_spec.rb
494
+ - spec/grape/dsl/logger_spec.rb
488
495
  - spec/grape/dsl/configuration_spec.rb
496
+ - spec/grape/dsl/validations_spec.rb
489
497
  - spec/grape/dsl/parameters_spec.rb
490
- - spec/grape/dsl/logger_spec.rb
491
498
  - spec/grape/dsl/helpers_spec.rb
492
- - spec/grape/dsl/request_response_spec.rb
493
- - spec/grape/dsl/routing_spec.rb
499
+ - spec/grape/dsl/middleware_spec.rb
494
500
  - spec/grape/dsl/headers_spec.rb
495
- - spec/grape/dsl/validations_spec.rb
496
- - spec/grape/dsl/desc_spec.rb
497
- - spec/grape/validations_spec.rb
498
- - spec/grape/named_api_spec.rb
499
- - spec/grape/loading_spec.rb
500
- - spec/grape/request_spec.rb
501
- - spec/integration/multi_xml/xml_spec.rb
502
- - spec/integration/multi_json/json_spec.rb
503
- - spec/spec_helper.rb
501
+ - spec/grape/dsl/callbacks_spec.rb
502
+ - spec/grape/dsl/settings_spec.rb
503
+ - spec/grape/dsl/routing_spec.rb
504
+ - spec/grape/dsl/inside_route_spec.rb
505
+ - spec/grape/path_spec.rb