openapi_parser 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 645b2396eefe014a952ebfbda80ee8e2e55734244608271a4d833ba79a277997
4
- data.tar.gz: 3cde72744033c1f991500b96cdabfb298f9fcb2822fe8b4b4b0e5f8613b9fd05
3
+ metadata.gz: 10f8741c65e467cb3bb7d7234741cdec47788c3100feefee31c79e76062ae773
4
+ data.tar.gz: 26a88f0de87afc6a5af8e0895ad471400dc7bd0aa3241f38b95f49a5fa5d33e2
5
5
  SHA512:
6
- metadata.gz: 7408d1182ed5144354b0aeeba535c58bf7a5dc3fef6991631778d9f9f1ab5386c3efd9d8ab32544b5b8c0427e1e19956c1361860ab107a77eab999f349258be6
7
- data.tar.gz: eb55cfa4a85e9db81b3afacea5e1a67b9ca5c523ba4638dc1c2bc1a15d8d88840bf2a1f74c1a9c794b5242723f5fb59a202e7ac0049343f1defd0f4083b315e0
6
+ metadata.gz: 9a22b925c6433b99d29ea4bdf1d4ecbe4ca7212f223e24f7ae20105c131d8fec3320859fd3dbb18a6e96bdb322b3de39fa25dabed61bc9084cc9f7b59ca52bd5
7
+ data.tar.gz: ae2f7d1d332634a4ad944ae74a2e429233d4fe32278f4a651a2f0e82dd9e59bf92dbb69cdbb1ac027b653ed11630423f830070dd711caf9807443be108b733be
@@ -1,5 +1,8 @@
1
1
  ## Unreleased
2
2
 
3
+ ## 0.2.3 (2019-03-18)
4
+ * validate_header_parameter support case incentive (#25)
5
+
3
6
  ## 0.2.2 (2019-01-06)
4
7
  * bugfix for datetime validate (#20)
5
8
 
@@ -26,7 +26,7 @@ module OpenAPIParser::ParameterValidatable
26
26
  # @param [String] object_reference
27
27
  # @param [OpenAPIParser::SchemaValidator::Options] options request validator options
28
28
  def validate_header_parameter(headers, object_reference, options)
29
- OpenAPIParser::ParameterValidator.validate_parameter(header_parameter_hash, headers, object_reference, options)
29
+ OpenAPIParser::ParameterValidator.validate_parameter(header_parameter_hash, headers, object_reference, options, true)
30
30
  end
31
31
 
32
32
  def header_parameter_hash
@@ -1,6 +1,8 @@
1
1
  module OpenAPIParser::Parser
2
2
  end
3
3
 
4
+ require 'forwardable'
5
+
4
6
  require_relative './parser/core'
5
7
  require_relative './schema_loader'
6
8
 
@@ -4,12 +4,16 @@ class OpenAPIParser::ParameterValidator
4
4
  # @param [Hash] params
5
5
  # @param [String] object_reference
6
6
  # @param [OpenAPIParser::SchemaValidator::Options] options
7
- def validate_parameter(parameters_hash, params, object_reference, options)
7
+ # @param [Boolean] is_header is header or not (ignore params key case)
8
+ def validate_parameter(parameters_hash, params, object_reference, options, is_header = false)
8
9
  no_exist_required_key = []
10
+
11
+ params_key_converted = params.keys.map { |k| [(is_header ? k&.downcase : k), k] }.to_h
9
12
  parameters_hash.each do |k, v|
10
- if params.include?(k)
11
- coerced = v.validate_params(params[k], options)
12
- params[k] = coerced if options.coerce_value
13
+ key = params_key_converted[k.downcase]
14
+ if params.include?(key)
15
+ coerced = v.validate_params(params[key], options)
16
+ params[key] = coerced if options.coerce_value
13
17
  elsif v.required
14
18
  no_exist_required_key << k
15
19
  end
@@ -1,3 +1,3 @@
1
1
  module OpenAPIParser
2
- VERSION = '0.2.2'.freeze
2
+ VERSION = '0.2.3'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openapi_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - ota42y
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-01-06 00:00:00.000000000 Z
11
+ date: 2019-03-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -219,7 +219,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
219
219
  - !ruby/object:Gem::Version
220
220
  version: '0'
221
221
  requirements: []
222
- rubygems_version: 3.0.1
222
+ rubygems_version: 3.0.3
223
223
  signing_key:
224
224
  specification_version: 4
225
225
  summary: OpenAPI3 parser