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