grape 1.2.1 → 1.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +49 -50
- data/Gemfile.lock +45 -45
- data/README.md +1 -2
- data/RELEASING.md +1 -1
- data/lib/grape/api.rb +16 -3
- data/lib/grape/api/instance.rb +1 -1
- data/lib/grape/dsl/desc.rb +8 -5
- data/lib/grape/middleware/stack.rb +1 -1
- data/lib/grape/middleware/versioner/header.rb +2 -2
- data/lib/grape/router/attribute_translator.rb +2 -0
- data/lib/grape/router/route.rb +2 -2
- data/lib/grape/validations/types/custom_type_coercer.rb +1 -1
- data/lib/grape/version.rb +1 -1
- 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/spec/grape/api_spec.rb +27 -0
- data/spec/grape/dsl/desc_spec.rb +25 -17
- data/spec/grape/middleware/formatter_spec.rb +4 -4
- data/spec/grape/validations_spec.rb +1 -1
- metadata +92 -94
- data/gemfiles/rack_1.5.2.gemfile.lock +0 -232
- data/gemfiles/rails_3.gemfile.lock +0 -288
- data/gemfiles/rails_4.gemfile.lock +0 -280
- data/gemfiles/rails_5.gemfile.lock +0 -312
- data/pkg/grape-1.2.0.gem +0 -0
data/README.md
CHANGED
@@ -146,9 +146,8 @@ content negotiation, versioning and much more.
|
|
146
146
|
|
147
147
|
## Stable Release
|
148
148
|
|
149
|
-
You're reading the documentation for the
|
149
|
+
You're reading the documentation for the stable release of Grape, **1.2.2**.
|
150
150
|
Please read [UPGRADING](UPGRADING.md) when upgrading from a previous version.
|
151
|
-
The current stable release is [1.2.1](https://github.com/ruby-grape/grape/blob/v1.2.1/README.md).
|
152
151
|
|
153
152
|
## Project Resources
|
154
153
|
|
data/RELEASING.md
CHANGED
@@ -36,7 +36,7 @@ You're reading the documentation for the stable release of Grape, 0.6.0.
|
|
36
36
|
Change "Next Release" in [CHANGELOG.md](CHANGELOG.md) to the new version.
|
37
37
|
|
38
38
|
```
|
39
|
-
#### 0.6.0 (9/16
|
39
|
+
#### 0.6.0 (2013/9/16)
|
40
40
|
```
|
41
41
|
|
42
42
|
Remove the line with "Your contribution here.", since there will be no more contributions to this release.
|
data/lib/grape/api.rb
CHANGED
@@ -6,12 +6,16 @@ module Grape
|
|
6
6
|
# should subclass this class in order to build an API.
|
7
7
|
class API
|
8
8
|
# Class methods that we want to call on the API rather than on the API object
|
9
|
-
NON_OVERRIDABLE = %
|
10
|
-
respond_to? respond_to_missing? const_defined? const_missing parent
|
11
|
-
parent_name name equal? to_s parents anonymous?].freeze
|
9
|
+
NON_OVERRIDABLE = (Class.new.methods + %i[call call!]).freeze
|
12
10
|
|
13
11
|
class << self
|
14
12
|
attr_accessor :base_instance, :instances
|
13
|
+
|
14
|
+
# Rather than initializing an object of type Grape::API, create an object of type Instance
|
15
|
+
def new(*args, &block)
|
16
|
+
base_instance.new(*args, &block)
|
17
|
+
end
|
18
|
+
|
15
19
|
# When inherited, will create a list of all instances (times the API was mounted)
|
16
20
|
# It will listen to the setup required to mount that endpoint, and replicate it on any new instance
|
17
21
|
def inherited(api, base_instance_parent = Grape::API::Instance)
|
@@ -38,6 +42,15 @@ module Grape
|
|
38
42
|
end
|
39
43
|
end
|
40
44
|
|
45
|
+
# This is the interface point between Rack and Grape; it accepts a request
|
46
|
+
# from Rack and ultimately returns an array of three values: the status,
|
47
|
+
# the headers, and the body. See [the rack specification]
|
48
|
+
# (http://www.rubydoc.info/github/rack/rack/master/file/SPEC) for more.
|
49
|
+
# NOTE: This will only be called on an API directly mounted on RACK
|
50
|
+
def call(*args, &block)
|
51
|
+
base_instance.call(*args, &block)
|
52
|
+
end
|
53
|
+
|
41
54
|
# Allows an API to itself be inheritable:
|
42
55
|
def make_inheritable(api)
|
43
56
|
# When a child API inherits from a parent API.
|
data/lib/grape/api/instance.rb
CHANGED
data/lib/grape/dsl/desc.rb
CHANGED
@@ -4,12 +4,12 @@ module Grape
|
|
4
4
|
include Grape::DSL::Settings
|
5
5
|
|
6
6
|
# Add a description to the next namespace or function.
|
7
|
-
# @option options :summary [String] summary for this endpoint
|
8
7
|
# @param description [String] descriptive string for this endpoint
|
9
8
|
# or namespace
|
10
9
|
# @param options [Hash] other properties you can set to describe the
|
11
10
|
# endpoint or namespace. Optional.
|
12
11
|
# @option options :detail [String] additional detail about this endpoint
|
12
|
+
# @option options :summary [String] summary for this endpoint
|
13
13
|
# @option options :params [Hash] param types and info. normally, you set
|
14
14
|
# these via the `params` dsl method.
|
15
15
|
# @option options :entity [Grape::Entity] the entity returned upon a
|
@@ -17,6 +17,7 @@ module Grape
|
|
17
17
|
# @option options :http_codes [Array[Array]] possible HTTP codes this
|
18
18
|
# endpoint may return, with their meanings, in a 2d array
|
19
19
|
# @option options :named [String] a specific name to help find this route
|
20
|
+
# @option options :body_name [String] override the autogenerated body name param
|
20
21
|
# @option options :headers [Hash] HTTP headers this method can accept
|
21
22
|
# @option options :hidden [Boolean] hide the endpoint or not
|
22
23
|
# @option options :deprecated [Boolean] deprecate the endpoint or not
|
@@ -24,6 +25,7 @@ module Grape
|
|
24
25
|
# @option options :nickname [String] nickname of the endpoint
|
25
26
|
# @option options :produces [Array[String]] a list of MIME types the endpoint produce
|
26
27
|
# @option options :consumes [Array[String]] a list of MIME types the endpoint consume
|
28
|
+
# @option options :security [Array[Hash]] a list of security schemes
|
27
29
|
# @option options :tags [Array[String]] a list of tags
|
28
30
|
# @yield a block yielding an instance context with methods mapping to
|
29
31
|
# each of the above, except that :entity is also aliased as #success
|
@@ -67,13 +69,12 @@ module Grape
|
|
67
69
|
end
|
68
70
|
|
69
71
|
def description_field(field, value = nil)
|
72
|
+
description = route_setting(:description)
|
70
73
|
if value
|
71
|
-
description = route_setting(:description)
|
72
74
|
description ||= route_setting(:description, {})
|
73
75
|
description[field] = value
|
74
|
-
|
75
|
-
description
|
76
|
-
description[field] if description
|
76
|
+
elsif description
|
77
|
+
description[field]
|
77
78
|
end
|
78
79
|
end
|
79
80
|
|
@@ -93,6 +94,7 @@ module Grape
|
|
93
94
|
:entity,
|
94
95
|
:http_codes,
|
95
96
|
:named,
|
97
|
+
:body_name,
|
96
98
|
:headers,
|
97
99
|
:hidden,
|
98
100
|
:deprecated,
|
@@ -100,6 +102,7 @@ module Grape
|
|
100
102
|
:nickname,
|
101
103
|
:produces,
|
102
104
|
:consumes,
|
105
|
+
:security,
|
103
106
|
:tags
|
104
107
|
)
|
105
108
|
|
@@ -96,7 +96,7 @@ module Grape
|
|
96
96
|
# @param [Array] other_specs An array of middleware specifications (e.g. [[:use, klass], [:insert_before, *args]])
|
97
97
|
def concat(other_specs)
|
98
98
|
@others << Array(other_specs).reject { |o| o.first == :use }
|
99
|
-
merge_with
|
99
|
+
merge_with(Array(other_specs).select { |o| o.first == :use })
|
100
100
|
end
|
101
101
|
|
102
102
|
protected
|
@@ -99,7 +99,7 @@ module Grape
|
|
99
99
|
def available_media_types
|
100
100
|
available_media_types = []
|
101
101
|
|
102
|
-
content_types.
|
102
|
+
content_types.each_key do |extension|
|
103
103
|
versions.reverse_each do |version|
|
104
104
|
available_media_types += [
|
105
105
|
"application/vnd.#{vendor}-#{version}+#{extension}",
|
@@ -111,7 +111,7 @@ module Grape
|
|
111
111
|
|
112
112
|
available_media_types << "application/vnd.#{vendor}"
|
113
113
|
|
114
|
-
content_types.
|
114
|
+
content_types.each_value do |media_type|
|
115
115
|
available_media_types << media_type
|
116
116
|
end
|
117
117
|
|
data/lib/grape/router/route.rb
CHANGED
@@ -98,9 +98,9 @@ module Grape
|
|
98
98
|
path, line = *location.scan(SOURCE_LOCATION_REGEXP).first
|
99
99
|
path = File.realpath(path) if Pathname.new(path).relative?
|
100
100
|
expected ||= name
|
101
|
-
warn <<-
|
101
|
+
warn <<-WARNING
|
102
102
|
#{path}:#{line}: The route_xxx methods such as route_#{name} have been deprecated, please use #{expected}.
|
103
|
-
|
103
|
+
WARNING
|
104
104
|
end
|
105
105
|
end
|
106
106
|
end
|
@@ -158,7 +158,7 @@ module Grape
|
|
158
158
|
# necessary.
|
159
159
|
def enforce_symbolized_keys(type, method)
|
160
160
|
# Collections have all values processed individually
|
161
|
-
if
|
161
|
+
if [Array, Set].include?(type)
|
162
162
|
lambda do |val|
|
163
163
|
method.call(val).tap do |new_value|
|
164
164
|
new_value.map do |item|
|
data/lib/grape/version.rb
CHANGED
Binary file
|
data/pkg/grape-1.0.1.gem
ADDED
Binary file
|
data/pkg/grape-1.0.2.gem
ADDED
Binary file
|
data/spec/grape/api_spec.rb
CHANGED
@@ -220,6 +220,15 @@ describe Grape::API do
|
|
220
220
|
end
|
221
221
|
end
|
222
222
|
|
223
|
+
describe '.call' do
|
224
|
+
context 'it does not add to the app setup' do
|
225
|
+
it 'calls the app' do
|
226
|
+
expect(subject).not_to receive(:add_setup)
|
227
|
+
subject.call({})
|
228
|
+
end
|
229
|
+
end
|
230
|
+
end
|
231
|
+
|
223
232
|
describe '.route_param' do
|
224
233
|
it 'adds a parameterized route segment namespace' do
|
225
234
|
subject.namespace :users do
|
@@ -3649,4 +3658,22 @@ XML
|
|
3649
3658
|
end
|
3650
3659
|
end
|
3651
3660
|
end
|
3661
|
+
|
3662
|
+
describe 'normal class methods' do
|
3663
|
+
subject(:grape_api) { Class.new(Grape::API) }
|
3664
|
+
|
3665
|
+
before do
|
3666
|
+
stub_const('MyAPI', grape_api)
|
3667
|
+
end
|
3668
|
+
|
3669
|
+
it 'can find the appropiate name' do
|
3670
|
+
expect(grape_api.name).to eq 'MyAPI'
|
3671
|
+
end
|
3672
|
+
|
3673
|
+
it 'is equal to itself' do
|
3674
|
+
expect(grape_api.itself).to eq grape_api
|
3675
|
+
expect(grape_api).to eq MyAPI
|
3676
|
+
expect(grape_api.eql?(MyAPI))
|
3677
|
+
end
|
3678
|
+
end
|
3652
3679
|
end
|
data/spec/grape/dsl/desc_spec.rb
CHANGED
@@ -28,21 +28,25 @@ module Grape
|
|
28
28
|
entity: Object,
|
29
29
|
http_codes: [[401, 'Unauthorized', 'Entities::Error']],
|
30
30
|
named: 'My named route',
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
31
|
+
body_name: 'My body name',
|
32
|
+
headers: [
|
33
|
+
XAuthToken: {
|
34
|
+
description: 'Valdates your identity',
|
35
|
+
required: true
|
36
|
+
},
|
37
|
+
XOptionalHeader: {
|
38
|
+
description: 'Not really needed',
|
39
|
+
required: false
|
40
|
+
}
|
41
|
+
],
|
39
42
|
hidden: false,
|
40
43
|
deprecated: false,
|
41
44
|
is_array: true,
|
42
45
|
nickname: 'nickname',
|
43
46
|
produces: %w[array of mime_types],
|
44
47
|
consumes: %w[array of mime_types],
|
45
|
-
tags: %w[tag1 tag2]
|
48
|
+
tags: %w[tag1 tag2],
|
49
|
+
security: %w[array of security schemes]
|
46
50
|
}
|
47
51
|
|
48
52
|
subject.desc 'The description' do
|
@@ -52,14 +56,17 @@ module Grape
|
|
52
56
|
success Object
|
53
57
|
failure [[401, 'Unauthorized', 'Entities::Error']]
|
54
58
|
named 'My named route'
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
59
|
+
body_name 'My body name'
|
60
|
+
headers [
|
61
|
+
XAuthToken: {
|
62
|
+
description: 'Valdates your identity',
|
63
|
+
required: true
|
64
|
+
},
|
65
|
+
XOptionalHeader: {
|
66
|
+
description: 'Not really needed',
|
67
|
+
required: false
|
68
|
+
}
|
69
|
+
]
|
63
70
|
hidden false
|
64
71
|
deprecated false
|
65
72
|
is_array true
|
@@ -67,6 +74,7 @@ module Grape
|
|
67
74
|
produces %w[array of mime_types]
|
68
75
|
consumes %w[array of mime_types]
|
69
76
|
tags %w[tag1 tag2]
|
77
|
+
security %w[array of security schemes]
|
70
78
|
end
|
71
79
|
|
72
80
|
expect(subject.namespace_setting(:description)).to eq(expected_options)
|
@@ -247,7 +247,7 @@ describe Grape::Middleware::Formatter do
|
|
247
247
|
let(:content_type) { 'application/atom+xml' }
|
248
248
|
|
249
249
|
it 'returns a 415 HTTP error status' do
|
250
|
-
error = catch(:error)
|
250
|
+
error = catch(:error) do
|
251
251
|
subject.call(
|
252
252
|
'PATH_INFO' => '/info',
|
253
253
|
'REQUEST_METHOD' => method,
|
@@ -255,7 +255,7 @@ describe Grape::Middleware::Formatter do
|
|
255
255
|
'rack.input' => io,
|
256
256
|
'CONTENT_LENGTH' => io.length
|
257
257
|
)
|
258
|
-
|
258
|
+
end
|
259
259
|
expect(error[:status]).to eq(415)
|
260
260
|
expect(error[:message]).to eq("The provided content-type 'application/atom+xml' is not supported.")
|
261
261
|
end
|
@@ -407,7 +407,7 @@ describe Grape::Middleware::Formatter do
|
|
407
407
|
parsers: { json: ->(_object, _env) { raise StandardError, 'fail' } }
|
408
408
|
)
|
409
409
|
io = StringIO.new('{invalid}')
|
410
|
-
error = catch(:error)
|
410
|
+
error = catch(:error) do
|
411
411
|
subject.call(
|
412
412
|
'PATH_INFO' => '/info',
|
413
413
|
'REQUEST_METHOD' => 'POST',
|
@@ -415,7 +415,7 @@ describe Grape::Middleware::Formatter do
|
|
415
415
|
'rack.input' => io,
|
416
416
|
'CONTENT_LENGTH' => io.length
|
417
417
|
)
|
418
|
-
|
418
|
+
end
|
419
419
|
|
420
420
|
expect(error[:message]).to eq 'fail'
|
421
421
|
expect(error[:backtrace].size).to be >= 1
|
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.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Bleigh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-12-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -117,14 +117,10 @@ 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
|
121
120
|
- gemfiles/rack_edge.gemfile
|
122
121
|
- gemfiles/rails_3.gemfile
|
123
|
-
- gemfiles/rails_3.gemfile.lock
|
124
122
|
- gemfiles/rails_4.gemfile
|
125
|
-
- gemfiles/rails_4.gemfile.lock
|
126
123
|
- gemfiles/rails_5.gemfile
|
127
|
-
- gemfiles/rails_5.gemfile.lock
|
128
124
|
- gemfiles/rails_edge.gemfile
|
129
125
|
- grape.gemspec
|
130
126
|
- grape.png
|
@@ -255,7 +251,9 @@ files:
|
|
255
251
|
- lib/grape/validations/validators/regexp.rb
|
256
252
|
- lib/grape/validations/validators/values.rb
|
257
253
|
- lib/grape/version.rb
|
258
|
-
- pkg/grape-
|
254
|
+
- pkg/grape-0.19.1.gem
|
255
|
+
- pkg/grape-1.0.1.gem
|
256
|
+
- pkg/grape-1.0.2.gem
|
259
257
|
- spec/grape/api/custom_validations_spec.rb
|
260
258
|
- spec/grape/api/deeply_included_options_spec.rb
|
261
259
|
- spec/grape/api/inherited_helpers_spec.rb
|
@@ -378,110 +376,110 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
378
376
|
version: '0'
|
379
377
|
requirements: []
|
380
378
|
rubyforge_project:
|
381
|
-
rubygems_version: 2.7.
|
379
|
+
rubygems_version: 2.7.6
|
382
380
|
signing_key:
|
383
381
|
specification_version: 4
|
384
382
|
summary: A simple Ruby framework for building REST-like APIs.
|
385
383
|
test_files:
|
384
|
+
- spec/spec_helper.rb
|
385
|
+
- spec/integration/multi_xml/xml_spec.rb
|
386
|
+
- spec/integration/multi_json/json_spec.rb
|
386
387
|
- spec/shared/versioning_examples.rb
|
387
|
-
- spec/
|
388
|
-
- spec/
|
389
|
-
- spec/
|
390
|
-
- spec/
|
391
|
-
- spec/
|
392
|
-
- spec/
|
393
|
-
- spec/grape/api/required_parameters_with_invalid_method_spec.rb
|
394
|
-
- spec/grape/api/inherited_helpers_spec.rb
|
395
|
-
- spec/grape/api/recognize_path_spec.rb
|
396
|
-
- spec/grape/api/required_parameters_in_route_spec.rb
|
397
|
-
- spec/grape/api/nested_helpers_spec.rb
|
398
|
-
- spec/grape/api/routes_with_requirements_spec.rb
|
399
|
-
- spec/grape/api/patch_method_helpers_spec.rb
|
400
|
-
- spec/grape/api/optional_parameters_in_route_spec.rb
|
401
|
-
- spec/grape/api/invalid_format_spec.rb
|
402
|
-
- spec/grape/named_api_spec.rb
|
403
|
-
- spec/grape/exceptions/validation_spec.rb
|
404
|
-
- spec/grape/exceptions/validation_errors_spec.rb
|
405
|
-
- spec/grape/exceptions/missing_option_spec.rb
|
406
|
-
- spec/grape/exceptions/unknown_options_spec.rb
|
407
|
-
- spec/grape/exceptions/missing_mime_type_spec.rb
|
408
|
-
- spec/grape/exceptions/base_spec.rb
|
409
|
-
- spec/grape/exceptions/invalid_versioner_option_spec.rb
|
410
|
-
- spec/grape/exceptions/invalid_response_spec.rb
|
411
|
-
- spec/grape/exceptions/body_parse_errors_spec.rb
|
412
|
-
- spec/grape/exceptions/unknown_validator_spec.rb
|
413
|
-
- spec/grape/exceptions/invalid_formatter_spec.rb
|
414
|
-
- spec/grape/exceptions/invalid_accept_header_spec.rb
|
415
|
-
- spec/grape/dsl/routing_spec.rb
|
416
|
-
- spec/grape/dsl/logger_spec.rb
|
417
|
-
- spec/grape/dsl/request_response_spec.rb
|
418
|
-
- spec/grape/dsl/validations_spec.rb
|
419
|
-
- spec/grape/dsl/desc_spec.rb
|
420
|
-
- spec/grape/dsl/headers_spec.rb
|
421
|
-
- spec/grape/dsl/configuration_spec.rb
|
422
|
-
- spec/grape/dsl/settings_spec.rb
|
423
|
-
- spec/grape/dsl/callbacks_spec.rb
|
424
|
-
- spec/grape/dsl/parameters_spec.rb
|
425
|
-
- spec/grape/dsl/inside_route_spec.rb
|
426
|
-
- spec/grape/dsl/middleware_spec.rb
|
427
|
-
- spec/grape/dsl/helpers_spec.rb
|
428
|
-
- spec/grape/endpoint_spec.rb
|
429
|
-
- spec/grape/validations_spec.rb
|
430
|
-
- spec/grape/entity_spec.rb
|
431
|
-
- spec/grape/extensions/param_builders/hash_spec.rb
|
432
|
-
- spec/grape/extensions/param_builders/hash_with_indifferent_access_spec.rb
|
433
|
-
- spec/grape/extensions/param_builders/hashie/mash_spec.rb
|
434
|
-
- spec/grape/api_remount_spec.rb
|
435
|
-
- spec/grape/parser_spec.rb
|
436
|
-
- spec/grape/util/inheritable_setting_spec.rb
|
437
|
-
- spec/grape/util/reverse_stackable_values_spec.rb
|
438
|
-
- spec/grape/util/stackable_values_spec.rb
|
439
|
-
- spec/grape/util/inheritable_values_spec.rb
|
440
|
-
- spec/grape/util/strict_hash_configuration_spec.rb
|
441
|
-
- spec/grape/presenters/presenter_spec.rb
|
442
|
-
- spec/grape/middleware/versioner/header_spec.rb
|
443
|
-
- spec/grape/middleware/versioner/accept_version_header_spec.rb
|
444
|
-
- spec/grape/middleware/versioner/param_spec.rb
|
445
|
-
- spec/grape/middleware/versioner/path_spec.rb
|
388
|
+
- spec/support/basic_auth_encode_helpers.rb
|
389
|
+
- spec/support/endpoint_faker.rb
|
390
|
+
- spec/support/file_streamer.rb
|
391
|
+
- spec/support/versioned_helpers.rb
|
392
|
+
- spec/support/content_type_helpers.rb
|
393
|
+
- spec/support/integer_helpers.rb
|
446
394
|
- spec/grape/middleware/error_spec.rb
|
447
395
|
- spec/grape/middleware/globals_spec.rb
|
448
|
-
- spec/grape/middleware/base_spec.rb
|
449
396
|
- spec/grape/middleware/formatter_spec.rb
|
450
|
-
- spec/grape/middleware/exception_spec.rb
|
451
|
-
- spec/grape/middleware/auth/base_spec.rb
|
452
397
|
- spec/grape/middleware/auth/strategies_spec.rb
|
453
398
|
- spec/grape/middleware/auth/dsl_spec.rb
|
399
|
+
- spec/grape/middleware/auth/base_spec.rb
|
454
400
|
- spec/grape/middleware/stack_spec.rb
|
401
|
+
- spec/grape/middleware/exception_spec.rb
|
455
402
|
- spec/grape/middleware/versioner_spec.rb
|
456
|
-
- spec/grape/
|
457
|
-
- spec/grape/
|
403
|
+
- spec/grape/middleware/versioner/accept_version_header_spec.rb
|
404
|
+
- spec/grape/middleware/versioner/header_spec.rb
|
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
|
458
416
|
- spec/grape/integration/rack_spec.rb
|
459
417
|
- 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
|
460
434
|
- 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
|
461
440
|
- spec/grape/validations/validators/exactly_one_of_spec.rb
|
462
|
-
- spec/grape/validations/validators/
|
441
|
+
- spec/grape/validations/validators/except_values_spec.rb
|
463
442
|
- spec/grape/validations/validators/presence_spec.rb
|
464
|
-
- spec/grape/validations/validators/coerce_spec.rb
|
465
|
-
- spec/grape/validations/validators/at_least_one_of_spec.rb
|
466
|
-
- spec/grape/validations/validators/zh-CN.yml
|
467
|
-
- spec/grape/validations/validators/default_spec.rb
|
468
|
-
- spec/grape/validations/validators/regexp_spec.rb
|
469
443
|
- spec/grape/validations/validators/all_or_none_spec.rb
|
470
|
-
- spec/grape/validations/validators/except_values_spec.rb
|
471
|
-
- spec/grape/validations/validators/mutual_exclusion_spec.rb
|
472
444
|
- spec/grape/validations/validators/allow_blank_spec.rb
|
473
|
-
- spec/grape/validations/
|
474
|
-
- spec/grape/validations/
|
475
|
-
- spec/grape/validations/
|
476
|
-
- spec/grape/
|
477
|
-
- spec/grape/
|
445
|
+
- spec/grape/validations/validators/default_spec.rb
|
446
|
+
- spec/grape/validations/validators/values_spec.rb
|
447
|
+
- spec/grape/validations/validators/at_least_one_of_spec.rb
|
448
|
+
- spec/grape/validations/validators/coerce_spec.rb
|
449
|
+
- spec/grape/validations/validators/zh-CN.yml
|
450
|
+
- spec/grape/extensions/param_builders/hashie/mash_spec.rb
|
451
|
+
- spec/grape/extensions/param_builders/hash_spec.rb
|
452
|
+
- spec/grape/extensions/param_builders/hash_with_indifferent_access_spec.rb
|
453
|
+
- spec/grape/parser_spec.rb
|
454
|
+
- spec/grape/request_spec.rb
|
455
|
+
- spec/grape/api/parameters_modification_spec.rb
|
456
|
+
- spec/grape/api/patch_method_helpers_spec.rb
|
457
|
+
- spec/grape/api/required_parameters_with_invalid_method_spec.rb
|
458
|
+
- spec/grape/api/nested_helpers_spec.rb
|
459
|
+
- spec/grape/api/invalid_format_spec.rb
|
460
|
+
- spec/grape/api/required_parameters_in_route_spec.rb
|
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
|
478
485
|
- spec/grape/path_spec.rb
|
479
|
-
- spec/support/file_streamer.rb
|
480
|
-
- spec/support/versioned_helpers.rb
|
481
|
-
- spec/support/content_type_helpers.rb
|
482
|
-
- spec/support/integer_helpers.rb
|
483
|
-
- spec/support/basic_auth_encode_helpers.rb
|
484
|
-
- spec/support/endpoint_faker.rb
|
485
|
-
- spec/spec_helper.rb
|
486
|
-
- spec/integration/multi_json/json_spec.rb
|
487
|
-
- spec/integration/multi_xml/xml_spec.rb
|