grape 1.3.3 → 1.4.0

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