grape 1.3.0 → 1.3.1
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/README.md +3 -4
- data/lib/grape.rb +2 -3
- data/lib/grape/api.rb +2 -2
- data/lib/grape/api/instance.rb +4 -4
- data/lib/grape/content_types.rb +34 -0
- data/lib/grape/dsl/helpers.rb +1 -1
- data/lib/grape/dsl/inside_route.rb +10 -9
- data/lib/grape/dsl/parameters.rb +4 -4
- data/lib/grape/dsl/routing.rb +6 -4
- data/lib/grape/exceptions/base.rb +0 -4
- data/lib/grape/exceptions/validation_errors.rb +11 -12
- data/lib/grape/http/headers.rb +25 -0
- data/lib/grape/middleware/base.rb +1 -3
- data/lib/grape/middleware/stack.rb +2 -1
- data/lib/grape/middleware/versioner/header.rb +3 -3
- data/lib/grape/middleware/versioner/path.rb +1 -1
- data/lib/grape/namespace.rb +12 -2
- data/lib/grape/path.rb +11 -1
- data/lib/grape/request.rb +12 -7
- data/lib/grape/router.rb +16 -7
- data/lib/grape/router/pattern.rb +17 -16
- data/lib/grape/router/route.rb +2 -2
- data/lib/grape/util/base_inheritable.rb +4 -0
- data/lib/grape/util/cache.rb +20 -0
- data/lib/grape/util/lazy_object.rb +43 -0
- data/lib/grape/util/reverse_stackable_values.rb +1 -1
- data/lib/grape/util/stackable_values.rb +6 -21
- data/lib/grape/validations/params_scope.rb +1 -1
- data/lib/grape/validations/types/file.rb +1 -0
- data/lib/grape/validations/types/primitive_coercer.rb +7 -4
- data/lib/grape/validations/validators/coerce.rb +1 -1
- data/lib/grape/validations/validators/exactly_one_of.rb +4 -2
- data/lib/grape/version.rb +1 -1
- data/spec/grape/api_spec.rb +7 -6
- data/spec/grape/exceptions/validation_errors_spec.rb +2 -2
- data/spec/grape/middleware/formatter_spec.rb +2 -2
- data/spec/grape/middleware/stack_spec.rb +9 -0
- data/spec/grape/validations/instance_behaivour_spec.rb +1 -1
- data/spec/grape/validations/types/primitive_coercer_spec.rb +75 -0
- data/spec/grape/validations/validators/coerce_spec.rb +15 -51
- data/spec/grape/validations/validators/exactly_one_of_spec.rb +12 -12
- data/spec/grape/validations_spec.rb +8 -12
- data/spec/spec_helper.rb +3 -0
- data/spec/support/eager_load.rb +19 -0
- metadata +12 -6
- data/lib/grape/util/content_types.rb +0 -28
@@ -1,28 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Grape
|
4
|
-
module ContentTypes
|
5
|
-
# Content types are listed in order of preference.
|
6
|
-
CONTENT_TYPES = { # rubocop:disable Style/MutableConstant
|
7
|
-
xml: 'application/xml',
|
8
|
-
serializable_hash: 'application/json',
|
9
|
-
json: 'application/json',
|
10
|
-
binary: 'application/octet-stream',
|
11
|
-
txt: 'text/plain'
|
12
|
-
}
|
13
|
-
|
14
|
-
def self.content_types_for_settings(settings)
|
15
|
-
return if settings.blank?
|
16
|
-
|
17
|
-
settings.each_with_object({}) { |value, result| result.merge!(value) }
|
18
|
-
end
|
19
|
-
|
20
|
-
def self.content_types_for(from_settings)
|
21
|
-
if from_settings.present?
|
22
|
-
from_settings
|
23
|
-
else
|
24
|
-
Grape::ContentTypes::CONTENT_TYPES
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|