openapi_parser 0.2.2 → 0.2.3

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 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