grape 1.2.2 → 1.2.3
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +22 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +58 -58
- data/README.md +52 -3
- data/gemfiles/multi_json.gemfile +1 -1
- data/gemfiles/multi_xml.gemfile +1 -1
- data/gemfiles/rack_1.5.2.gemfile.lock +232 -0
- data/gemfiles/rack_edge.gemfile +1 -1
- data/gemfiles/rails_3.gemfile +1 -1
- data/gemfiles/rails_3.gemfile.lock +288 -0
- data/gemfiles/rails_4.gemfile +1 -1
- data/gemfiles/rails_4.gemfile.lock +280 -0
- data/gemfiles/rails_5.gemfile +1 -1
- data/gemfiles/rails_5.gemfile.lock +312 -0
- data/gemfiles/rails_edge.gemfile +1 -1
- data/gemfiles/rails_edge.gemfile.lock +335 -0
- data/lib/grape.rb +2 -1
- data/lib/grape/config.rb +32 -0
- data/lib/grape/endpoint.rb +9 -1
- data/lib/grape/locale/en.yml +1 -0
- data/lib/grape/request.rb +1 -1
- data/lib/grape/validations/types/file.rb +1 -1
- data/lib/grape/validations/validators/as.rb +0 -1
- data/lib/grape/validations/validators/same_as.rb +23 -0
- data/lib/grape/version.rb +1 -1
- data/pkg/grape-1.2.0.gem +0 -0
- data/pkg/grape-1.2.1.gem +0 -0
- data/spec/grape/config_spec.rb +17 -0
- data/spec/grape/request_spec.rb +24 -0
- data/spec/grape/validations/params_scope_spec.rb +10 -0
- data/spec/grape/validations/validators/coerce_spec.rb +4 -0
- data/spec/grape/validations/validators/same_as_spec.rb +63 -0
- data/spec/spec_helper.rb +1 -0
- metadata +102 -92
- data/pkg/grape-0.19.1.gem +0 -0
- data/pkg/grape-1.0.1.gem +0 -0
- data/pkg/grape-1.0.2.gem +0 -0
data/lib/grape.rb
CHANGED
@@ -34,7 +34,6 @@ module Grape
|
|
34
34
|
autoload :Namespace
|
35
35
|
|
36
36
|
autoload :Path
|
37
|
-
|
38
37
|
autoload :Cookies
|
39
38
|
autoload :Validations
|
40
39
|
autoload :ErrorFormatter
|
@@ -194,6 +193,7 @@ module Grape
|
|
194
193
|
end
|
195
194
|
end
|
196
195
|
|
196
|
+
require 'grape/config'
|
197
197
|
require 'grape/util/content_types'
|
198
198
|
|
199
199
|
require 'grape/validations/validators/base'
|
@@ -207,6 +207,7 @@ require 'grape/validations/validators/exactly_one_of'
|
|
207
207
|
require 'grape/validations/validators/mutual_exclusion'
|
208
208
|
require 'grape/validations/validators/presence'
|
209
209
|
require 'grape/validations/validators/regexp'
|
210
|
+
require 'grape/validations/validators/same_as'
|
210
211
|
require 'grape/validations/validators/values'
|
211
212
|
require 'grape/validations/validators/except_values'
|
212
213
|
require 'grape/validations/params_scope'
|
data/lib/grape/config.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
module Grape
|
2
|
+
module Config
|
3
|
+
class Configuration
|
4
|
+
ATTRIBUTES = %i[
|
5
|
+
param_builder
|
6
|
+
].freeze
|
7
|
+
|
8
|
+
attr_accessor(*ATTRIBUTES)
|
9
|
+
|
10
|
+
def initialize
|
11
|
+
reset
|
12
|
+
end
|
13
|
+
|
14
|
+
def reset
|
15
|
+
self.param_builder = Grape::Extensions::ActiveSupport::HashWithIndifferentAccess::ParamBuilder
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.extended(base)
|
20
|
+
def base.configure
|
21
|
+
block_given? ? yield(config) : config
|
22
|
+
end
|
23
|
+
|
24
|
+
def base.config
|
25
|
+
@configuration ||= Grape::Config::Configuration.new
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
Grape.extend Grape::Config
|
32
|
+
Grape.config.reset
|
data/lib/grape/endpoint.rb
CHANGED
@@ -258,6 +258,7 @@ module Grape
|
|
258
258
|
else
|
259
259
|
run_filters before_validations, :before_validation
|
260
260
|
run_validators validations, request
|
261
|
+
remove_aliased_params
|
261
262
|
run_filters after_validations, :after_validation
|
262
263
|
response_object = @block ? @block.call(self) : nil
|
263
264
|
end
|
@@ -319,7 +320,14 @@ module Grape
|
|
319
320
|
Module.new { helpers.each { |mod_to_include| include mod_to_include } }
|
320
321
|
end
|
321
322
|
|
322
|
-
|
323
|
+
def remove_aliased_params
|
324
|
+
return unless route_setting(:aliased_params)
|
325
|
+
route_setting(:aliased_params).flat_map(&:keys).each do |aliased_param|
|
326
|
+
@params.delete(aliased_param)
|
327
|
+
end
|
328
|
+
end
|
329
|
+
|
330
|
+
private :build_stack, :build_helpers, :remove_aliased_params
|
323
331
|
|
324
332
|
def helpers
|
325
333
|
lazy_initialize! && @helpers
|
data/lib/grape/locale/en.yml
CHANGED
@@ -9,6 +9,7 @@ en:
|
|
9
9
|
blank: 'is empty'
|
10
10
|
values: 'does not have a valid value'
|
11
11
|
except_values: 'has a value not allowed'
|
12
|
+
same_as: 'is not the same as %{parameter}'
|
12
13
|
missing_vendor_option:
|
13
14
|
problem: 'missing :vendor option.'
|
14
15
|
summary: 'when version using header, you must specify :vendor option. '
|
data/lib/grape/request.rb
CHANGED
@@ -5,7 +5,7 @@ module Grape
|
|
5
5
|
alias rack_params params
|
6
6
|
|
7
7
|
def initialize(env, options = {})
|
8
|
-
extend options[:build_params_with] || Grape
|
8
|
+
extend options[:build_params_with] || Grape.config.param_builder
|
9
9
|
super(env)
|
10
10
|
end
|
11
11
|
|
@@ -19,7 +19,7 @@ module Grape
|
|
19
19
|
# Rack::Request creates a Hash with filename,
|
20
20
|
# content type and an IO object. Do a bit of basic
|
21
21
|
# duck-typing.
|
22
|
-
value.is_a?(::Hash) && value.key?(:tempfile)
|
22
|
+
value.is_a?(::Hash) && value.key?(:tempfile) && value[:tempfile].is_a?(Tempfile)
|
23
23
|
end
|
24
24
|
end
|
25
25
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Grape
|
2
|
+
module Validations
|
3
|
+
class SameAsValidator < Base
|
4
|
+
def validate_param!(attr_name, params)
|
5
|
+
confirmation = options_key?(:value) ? @option[:value] : @option
|
6
|
+
return if params[attr_name] == params[confirmation]
|
7
|
+
raise Grape::Exceptions::Validation,
|
8
|
+
params: [@scope.full_name(attr_name)],
|
9
|
+
message: build_message
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def build_message
|
15
|
+
if options_key?(:message)
|
16
|
+
@option[:message]
|
17
|
+
else
|
18
|
+
format I18n.t(:same_as, scope: 'grape.errors.messages'), parameter: @option
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/lib/grape/version.rb
CHANGED
data/pkg/grape-1.2.0.gem
ADDED
Binary file
|
data/pkg/grape-1.2.1.gem
ADDED
Binary file
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'spec_helper'
|
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
|
data/spec/grape/request_spec.rb
CHANGED
@@ -62,6 +62,30 @@ module Grape
|
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
65
|
+
describe 'when the param_builder is set to Hashie' do
|
66
|
+
before do
|
67
|
+
Grape.configure do |config|
|
68
|
+
config.param_builder = Grape::Extensions::Hashie::Mash::ParamBuilder
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
after do
|
73
|
+
Grape.config.reset
|
74
|
+
end
|
75
|
+
|
76
|
+
subject(:request_params) { Grape::Request.new(env, opts).params }
|
77
|
+
|
78
|
+
context 'when the API does not include a specific param builder' do
|
79
|
+
let(:opts) { {} }
|
80
|
+
it { is_expected.to be_a(Hashie::Mash) }
|
81
|
+
end
|
82
|
+
|
83
|
+
context 'when the API includes a specific param builder' do
|
84
|
+
let(:opts) { { build_params_with: Grape::Extensions::Hash::ParamBuilder } }
|
85
|
+
it { is_expected.to be_a(Hash) }
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
65
89
|
describe '#headers' do
|
66
90
|
let(:options) do
|
67
91
|
default_options.merge(request_headers)
|
@@ -155,6 +155,16 @@ describe Grape::Validations::ParamsScope do
|
|
155
155
|
expect(last_response.status).to eq(400)
|
156
156
|
expect(last_response.body).to eq('foo is empty')
|
157
157
|
end
|
158
|
+
|
159
|
+
it do
|
160
|
+
subject.params do
|
161
|
+
requires :foo, as: :bar, allow_blank: false
|
162
|
+
end
|
163
|
+
subject.get('/alias-not-blank-with-value') {}
|
164
|
+
get '/alias-not-blank-with-value', foo: 'any'
|
165
|
+
|
166
|
+
expect(last_response.status).to eq(200)
|
167
|
+
end
|
158
168
|
end
|
159
169
|
|
160
170
|
context 'array without coerce type explicitly given' do
|
@@ -397,6 +397,10 @@ describe Grape::Validations::CoerceValidator do
|
|
397
397
|
post '/upload', file: 'not a file'
|
398
398
|
expect(last_response.status).to eq(400)
|
399
399
|
expect(last_response.body).to eq('file is invalid')
|
400
|
+
|
401
|
+
post '/upload', file: { filename: 'fake file', tempfile: '/etc/passwd' }
|
402
|
+
expect(last_response.status).to eq(400)
|
403
|
+
expect(last_response.body).to eq('file is invalid')
|
400
404
|
end
|
401
405
|
|
402
406
|
it 'Nests integers' do
|
@@ -0,0 +1,63 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Grape::Validations::SameAsValidator do
|
4
|
+
module ValidationsSpec
|
5
|
+
module SameAsValidatorSpec
|
6
|
+
class API < Grape::API
|
7
|
+
params do
|
8
|
+
requires :password
|
9
|
+
requires :password_confirmation, same_as: :password
|
10
|
+
end
|
11
|
+
post do
|
12
|
+
end
|
13
|
+
|
14
|
+
params do
|
15
|
+
requires :password
|
16
|
+
requires :password_confirmation, same_as: { value: :password, message: 'not match' }
|
17
|
+
end
|
18
|
+
post '/custom-message' do
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def app
|
25
|
+
ValidationsSpec::SameAsValidatorSpec::API
|
26
|
+
end
|
27
|
+
|
28
|
+
describe '/' do
|
29
|
+
context 'is the same' do
|
30
|
+
it do
|
31
|
+
post '/', password: '987654', password_confirmation: '987654'
|
32
|
+
expect(last_response.status).to eq(201)
|
33
|
+
expect(last_response.body).to eq('')
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
context 'is not the same' do
|
38
|
+
it do
|
39
|
+
post '/', password: '123456', password_confirmation: 'whatever'
|
40
|
+
expect(last_response.status).to eq(400)
|
41
|
+
expect(last_response.body).to eq('password_confirmation is not the same as password')
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe '/custom-message' do
|
47
|
+
context 'is the same' do
|
48
|
+
it do
|
49
|
+
post '/custom-message', password: '987654', password_confirmation: '987654'
|
50
|
+
expect(last_response.status).to eq(201)
|
51
|
+
expect(last_response.body).to eq('')
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
context 'is not the same' do
|
56
|
+
it do
|
57
|
+
post '/custom-message', password: '123456', password_confirmation: 'whatever'
|
58
|
+
expect(last_response.status).to eq(400)
|
59
|
+
expect(last_response.body).to eq('password_confirmation not match')
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -20,6 +20,7 @@ RSpec.configure do |config|
|
|
20
20
|
config.include Rack::Test::Methods
|
21
21
|
config.include Spec::Support::Helpers
|
22
22
|
config.raise_errors_for_deprecations!
|
23
|
+
config.filter_run_when_matching :focus
|
23
24
|
|
24
25
|
config.before(:each) { Grape::Util::InheritableSetting.reset_global! }
|
25
26
|
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.2.
|
4
|
+
version: 1.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Bleigh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-01-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -117,17 +117,23 @@ files:
|
|
117
117
|
- benchmark/simple_with_type_coercer.rb
|
118
118
|
- gemfiles/multi_json.gemfile
|
119
119
|
- gemfiles/multi_xml.gemfile
|
120
|
+
- gemfiles/rack_1.5.2.gemfile.lock
|
120
121
|
- gemfiles/rack_edge.gemfile
|
121
122
|
- gemfiles/rails_3.gemfile
|
123
|
+
- gemfiles/rails_3.gemfile.lock
|
122
124
|
- gemfiles/rails_4.gemfile
|
125
|
+
- gemfiles/rails_4.gemfile.lock
|
123
126
|
- gemfiles/rails_5.gemfile
|
127
|
+
- gemfiles/rails_5.gemfile.lock
|
124
128
|
- gemfiles/rails_edge.gemfile
|
129
|
+
- gemfiles/rails_edge.gemfile.lock
|
125
130
|
- grape.gemspec
|
126
131
|
- grape.png
|
127
132
|
- lib/grape.rb
|
128
133
|
- lib/grape/api.rb
|
129
134
|
- lib/grape/api/helpers.rb
|
130
135
|
- lib/grape/api/instance.rb
|
136
|
+
- lib/grape/config.rb
|
131
137
|
- lib/grape/cookies.rb
|
132
138
|
- lib/grape/dsl/api.rb
|
133
139
|
- lib/grape/dsl/callbacks.rb
|
@@ -249,11 +255,11 @@ files:
|
|
249
255
|
- lib/grape/validations/validators/mutual_exclusion.rb
|
250
256
|
- lib/grape/validations/validators/presence.rb
|
251
257
|
- lib/grape/validations/validators/regexp.rb
|
258
|
+
- lib/grape/validations/validators/same_as.rb
|
252
259
|
- lib/grape/validations/validators/values.rb
|
253
260
|
- lib/grape/version.rb
|
254
|
-
- pkg/grape-
|
255
|
-
- pkg/grape-1.
|
256
|
-
- pkg/grape-1.0.2.gem
|
261
|
+
- pkg/grape-1.2.0.gem
|
262
|
+
- pkg/grape-1.2.1.gem
|
257
263
|
- spec/grape/api/custom_validations_spec.rb
|
258
264
|
- spec/grape/api/deeply_included_options_spec.rb
|
259
265
|
- spec/grape/api/inherited_helpers_spec.rb
|
@@ -271,6 +277,7 @@ files:
|
|
271
277
|
- spec/grape/api/shared_helpers_spec.rb
|
272
278
|
- spec/grape/api_remount_spec.rb
|
273
279
|
- spec/grape/api_spec.rb
|
280
|
+
- spec/grape/config_spec.rb
|
274
281
|
- spec/grape/dsl/callbacks_spec.rb
|
275
282
|
- spec/grape/dsl/configuration_spec.rb
|
276
283
|
- spec/grape/dsl/desc_spec.rb
|
@@ -343,6 +350,7 @@ files:
|
|
343
350
|
- spec/grape/validations/validators/mutual_exclusion_spec.rb
|
344
351
|
- spec/grape/validations/validators/presence_spec.rb
|
345
352
|
- spec/grape/validations/validators/regexp_spec.rb
|
353
|
+
- spec/grape/validations/validators/same_as_spec.rb
|
346
354
|
- spec/grape/validations/validators/values_spec.rb
|
347
355
|
- spec/grape/validations/validators/zh-CN.yml
|
348
356
|
- spec/grape/validations_spec.rb
|
@@ -376,110 +384,112 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
376
384
|
version: '0'
|
377
385
|
requirements: []
|
378
386
|
rubyforge_project:
|
379
|
-
rubygems_version: 2.7.
|
387
|
+
rubygems_version: 2.7.7
|
380
388
|
signing_key:
|
381
389
|
specification_version: 4
|
382
390
|
summary: A simple Ruby framework for building REST-like APIs.
|
383
391
|
test_files:
|
384
|
-
- spec/spec_helper.rb
|
385
|
-
- spec/integration/multi_xml/xml_spec.rb
|
386
|
-
- spec/integration/multi_json/json_spec.rb
|
387
392
|
- spec/shared/versioning_examples.rb
|
388
|
-
- spec/
|
389
|
-
- spec/
|
390
|
-
- spec/
|
391
|
-
- spec/
|
392
|
-
- spec/
|
393
|
-
- spec/
|
393
|
+
- spec/grape/api/shared_helpers_exactly_one_of_spec.rb
|
394
|
+
- spec/grape/api/custom_validations_spec.rb
|
395
|
+
- spec/grape/api/parameters_modification_spec.rb
|
396
|
+
- spec/grape/api/namespace_parameters_in_route_spec.rb
|
397
|
+
- spec/grape/api/deeply_included_options_spec.rb
|
398
|
+
- spec/grape/api/shared_helpers_spec.rb
|
399
|
+
- spec/grape/api/required_parameters_with_invalid_method_spec.rb
|
400
|
+
- spec/grape/api/inherited_helpers_spec.rb
|
401
|
+
- spec/grape/api/recognize_path_spec.rb
|
402
|
+
- spec/grape/api/required_parameters_in_route_spec.rb
|
403
|
+
- spec/grape/api/nested_helpers_spec.rb
|
404
|
+
- spec/grape/api/routes_with_requirements_spec.rb
|
405
|
+
- spec/grape/api/patch_method_helpers_spec.rb
|
406
|
+
- spec/grape/api/optional_parameters_in_route_spec.rb
|
407
|
+
- spec/grape/api/invalid_format_spec.rb
|
408
|
+
- spec/grape/named_api_spec.rb
|
409
|
+
- spec/grape/exceptions/validation_spec.rb
|
410
|
+
- spec/grape/exceptions/validation_errors_spec.rb
|
411
|
+
- spec/grape/exceptions/missing_option_spec.rb
|
412
|
+
- spec/grape/exceptions/unknown_options_spec.rb
|
413
|
+
- spec/grape/exceptions/missing_mime_type_spec.rb
|
414
|
+
- spec/grape/exceptions/base_spec.rb
|
415
|
+
- spec/grape/exceptions/invalid_versioner_option_spec.rb
|
416
|
+
- spec/grape/exceptions/invalid_response_spec.rb
|
417
|
+
- spec/grape/exceptions/body_parse_errors_spec.rb
|
418
|
+
- spec/grape/exceptions/unknown_validator_spec.rb
|
419
|
+
- spec/grape/exceptions/invalid_formatter_spec.rb
|
420
|
+
- spec/grape/exceptions/invalid_accept_header_spec.rb
|
421
|
+
- spec/grape/dsl/routing_spec.rb
|
422
|
+
- spec/grape/dsl/logger_spec.rb
|
423
|
+
- spec/grape/dsl/request_response_spec.rb
|
424
|
+
- spec/grape/dsl/validations_spec.rb
|
425
|
+
- spec/grape/dsl/desc_spec.rb
|
426
|
+
- spec/grape/dsl/headers_spec.rb
|
427
|
+
- spec/grape/dsl/configuration_spec.rb
|
428
|
+
- spec/grape/dsl/settings_spec.rb
|
429
|
+
- spec/grape/dsl/callbacks_spec.rb
|
430
|
+
- spec/grape/dsl/parameters_spec.rb
|
431
|
+
- spec/grape/dsl/inside_route_spec.rb
|
432
|
+
- spec/grape/dsl/middleware_spec.rb
|
433
|
+
- spec/grape/dsl/helpers_spec.rb
|
434
|
+
- spec/grape/endpoint_spec.rb
|
435
|
+
- spec/grape/validations_spec.rb
|
436
|
+
- spec/grape/entity_spec.rb
|
437
|
+
- spec/grape/extensions/param_builders/hash_spec.rb
|
438
|
+
- spec/grape/extensions/param_builders/hash_with_indifferent_access_spec.rb
|
439
|
+
- spec/grape/extensions/param_builders/hashie/mash_spec.rb
|
440
|
+
- spec/grape/api_remount_spec.rb
|
441
|
+
- spec/grape/parser_spec.rb
|
442
|
+
- spec/grape/util/inheritable_setting_spec.rb
|
443
|
+
- spec/grape/util/reverse_stackable_values_spec.rb
|
444
|
+
- spec/grape/util/stackable_values_spec.rb
|
445
|
+
- spec/grape/util/inheritable_values_spec.rb
|
446
|
+
- spec/grape/util/strict_hash_configuration_spec.rb
|
447
|
+
- spec/grape/config_spec.rb
|
448
|
+
- spec/grape/presenters/presenter_spec.rb
|
449
|
+
- spec/grape/middleware/versioner/header_spec.rb
|
450
|
+
- spec/grape/middleware/versioner/accept_version_header_spec.rb
|
451
|
+
- spec/grape/middleware/versioner/param_spec.rb
|
452
|
+
- spec/grape/middleware/versioner/path_spec.rb
|
394
453
|
- spec/grape/middleware/error_spec.rb
|
395
454
|
- spec/grape/middleware/globals_spec.rb
|
455
|
+
- spec/grape/middleware/base_spec.rb
|
396
456
|
- spec/grape/middleware/formatter_spec.rb
|
457
|
+
- spec/grape/middleware/exception_spec.rb
|
458
|
+
- spec/grape/middleware/auth/base_spec.rb
|
397
459
|
- spec/grape/middleware/auth/strategies_spec.rb
|
398
460
|
- spec/grape/middleware/auth/dsl_spec.rb
|
399
|
-
- spec/grape/middleware/auth/base_spec.rb
|
400
461
|
- spec/grape/middleware/stack_spec.rb
|
401
|
-
- spec/grape/middleware/exception_spec.rb
|
402
462
|
- spec/grape/middleware/versioner_spec.rb
|
403
|
-
- spec/grape/
|
404
|
-
- spec/grape/
|
405
|
-
- spec/grape/middleware/versioner/path_spec.rb
|
406
|
-
- spec/grape/middleware/versioner/param_spec.rb
|
407
|
-
- spec/grape/middleware/base_spec.rb
|
408
|
-
- spec/grape/loading_spec.rb
|
409
|
-
- spec/grape/endpoint_spec.rb
|
410
|
-
- spec/grape/api_spec.rb
|
411
|
-
- spec/grape/util/reverse_stackable_values_spec.rb
|
412
|
-
- spec/grape/util/stackable_values_spec.rb
|
413
|
-
- spec/grape/util/inheritable_setting_spec.rb
|
414
|
-
- spec/grape/util/strict_hash_configuration_spec.rb
|
415
|
-
- spec/grape/util/inheritable_values_spec.rb
|
463
|
+
- spec/grape/request_spec.rb
|
464
|
+
- spec/grape/integration/global_namespace_function_spec.rb
|
416
465
|
- spec/grape/integration/rack_spec.rb
|
417
466
|
- spec/grape/integration/rack_sendfile_spec.rb
|
418
|
-
- spec/grape/integration/global_namespace_function_spec.rb
|
419
|
-
- spec/grape/validations_spec.rb
|
420
|
-
- spec/grape/entity_spec.rb
|
421
|
-
- spec/grape/exceptions/validation_spec.rb
|
422
|
-
- spec/grape/exceptions/invalid_accept_header_spec.rb
|
423
|
-
- spec/grape/exceptions/missing_option_spec.rb
|
424
|
-
- spec/grape/exceptions/invalid_response_spec.rb
|
425
|
-
- spec/grape/exceptions/body_parse_errors_spec.rb
|
426
|
-
- spec/grape/exceptions/invalid_formatter_spec.rb
|
427
|
-
- spec/grape/exceptions/missing_mime_type_spec.rb
|
428
|
-
- spec/grape/exceptions/unknown_options_spec.rb
|
429
|
-
- spec/grape/exceptions/validation_errors_spec.rb
|
430
|
-
- spec/grape/exceptions/unknown_validator_spec.rb
|
431
|
-
- spec/grape/exceptions/invalid_versioner_option_spec.rb
|
432
|
-
- spec/grape/exceptions/base_spec.rb
|
433
|
-
- spec/grape/presenters/presenter_spec.rb
|
434
467
|
- spec/grape/validations/attributes_iterator_spec.rb
|
435
|
-
- spec/grape/validations/params_scope_spec.rb
|
436
|
-
- spec/grape/validations/instance_behaivour_spec.rb
|
437
|
-
- spec/grape/validations/types_spec.rb
|
438
|
-
- spec/grape/validations/validators/regexp_spec.rb
|
439
|
-
- spec/grape/validations/validators/mutual_exclusion_spec.rb
|
440
468
|
- spec/grape/validations/validators/exactly_one_of_spec.rb
|
441
|
-
- spec/grape/validations/validators/except_values_spec.rb
|
442
|
-
- spec/grape/validations/validators/presence_spec.rb
|
443
|
-
- spec/grape/validations/validators/all_or_none_spec.rb
|
444
|
-
- spec/grape/validations/validators/allow_blank_spec.rb
|
445
|
-
- spec/grape/validations/validators/default_spec.rb
|
446
469
|
- spec/grape/validations/validators/values_spec.rb
|
447
|
-
- spec/grape/validations/validators/
|
470
|
+
- spec/grape/validations/validators/presence_spec.rb
|
448
471
|
- spec/grape/validations/validators/coerce_spec.rb
|
472
|
+
- spec/grape/validations/validators/at_least_one_of_spec.rb
|
473
|
+
- spec/grape/validations/validators/same_as_spec.rb
|
449
474
|
- spec/grape/validations/validators/zh-CN.yml
|
450
|
-
- spec/grape/
|
451
|
-
- spec/grape/
|
452
|
-
- spec/grape/
|
453
|
-
- spec/grape/
|
454
|
-
- spec/grape/
|
455
|
-
- spec/grape/
|
456
|
-
- spec/grape/
|
457
|
-
- spec/grape/
|
458
|
-
- spec/grape/
|
459
|
-
- spec/grape/
|
460
|
-
- spec/grape/
|
461
|
-
- spec/grape/api/namespace_parameters_in_route_spec.rb
|
462
|
-
- spec/grape/api/recognize_path_spec.rb
|
463
|
-
- spec/grape/api/shared_helpers_exactly_one_of_spec.rb
|
464
|
-
- spec/grape/api/inherited_helpers_spec.rb
|
465
|
-
- spec/grape/api/shared_helpers_spec.rb
|
466
|
-
- spec/grape/api/deeply_included_options_spec.rb
|
467
|
-
- spec/grape/api/routes_with_requirements_spec.rb
|
468
|
-
- spec/grape/api/custom_validations_spec.rb
|
469
|
-
- spec/grape/api/optional_parameters_in_route_spec.rb
|
470
|
-
- spec/grape/api_remount_spec.rb
|
471
|
-
- spec/grape/named_api_spec.rb
|
472
|
-
- spec/grape/dsl/request_response_spec.rb
|
473
|
-
- spec/grape/dsl/desc_spec.rb
|
474
|
-
- spec/grape/dsl/logger_spec.rb
|
475
|
-
- spec/grape/dsl/configuration_spec.rb
|
476
|
-
- spec/grape/dsl/validations_spec.rb
|
477
|
-
- spec/grape/dsl/parameters_spec.rb
|
478
|
-
- spec/grape/dsl/helpers_spec.rb
|
479
|
-
- spec/grape/dsl/middleware_spec.rb
|
480
|
-
- spec/grape/dsl/headers_spec.rb
|
481
|
-
- spec/grape/dsl/callbacks_spec.rb
|
482
|
-
- spec/grape/dsl/settings_spec.rb
|
483
|
-
- spec/grape/dsl/routing_spec.rb
|
484
|
-
- spec/grape/dsl/inside_route_spec.rb
|
475
|
+
- spec/grape/validations/validators/default_spec.rb
|
476
|
+
- spec/grape/validations/validators/regexp_spec.rb
|
477
|
+
- spec/grape/validations/validators/all_or_none_spec.rb
|
478
|
+
- spec/grape/validations/validators/except_values_spec.rb
|
479
|
+
- spec/grape/validations/validators/mutual_exclusion_spec.rb
|
480
|
+
- spec/grape/validations/validators/allow_blank_spec.rb
|
481
|
+
- spec/grape/validations/params_scope_spec.rb
|
482
|
+
- spec/grape/validations/instance_behaivour_spec.rb
|
483
|
+
- spec/grape/validations/types_spec.rb
|
484
|
+
- spec/grape/api_spec.rb
|
485
|
+
- spec/grape/loading_spec.rb
|
485
486
|
- spec/grape/path_spec.rb
|
487
|
+
- spec/support/file_streamer.rb
|
488
|
+
- spec/support/versioned_helpers.rb
|
489
|
+
- spec/support/content_type_helpers.rb
|
490
|
+
- spec/support/integer_helpers.rb
|
491
|
+
- spec/support/basic_auth_encode_helpers.rb
|
492
|
+
- spec/support/endpoint_faker.rb
|
493
|
+
- spec/spec_helper.rb
|
494
|
+
- spec/integration/multi_json/json_spec.rb
|
495
|
+
- spec/integration/multi_xml/xml_spec.rb
|