grape 1.2.1 → 1.2.2
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 +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
|