openapi_contracts 0.15.1 → 0.15.2

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: f3d35b6a9db16d44567007f7d9ac3c9494b673e81429e17447379e68a8f39d64
4
- data.tar.gz: 31469c4e5c0118cea88e299ce7d3af89cb67953d7145db4bea0d75faebbe327e
3
+ metadata.gz: 234f41aae2d6860cd521e376cc0efa15f73c69cbce04aa158b5f060f5696b9a2
4
+ data.tar.gz: 1b3cb49933bca518b5a9287a4b0801e9e9c68857e52ad873492e26af9d0c6a6b
5
5
  SHA512:
6
- metadata.gz: 4d93a067e1d946c9bccd8feae46a00f32284143bd38f14d72221dd8119caecf4add8fe82da2afc0968e31b001a48826fb79f94571bd340bab236e254a8bc587f
7
- data.tar.gz: 1e992cdb3834af4ad4998c164d325fe0cd559ea75c5cc57d6dcb7fbaca482576668de099cba0f9e18203fe2652418a492544c449c6a5294d34f838dbb66de150
6
+ metadata.gz: 6f2b66f42ab4c656427f5a96e404343494bc6882b42fc0377d91135939f4669fef906bd7e79a1779c9ee765d38fd919618d0e95525ec11aef99e88750157561e
7
+ data.tar.gz: 8f0f8155ffcfd4af0202ddd67144bc8b5f6b3d2c98f4d72dfcbde171e8cc26c2fac454887676ba7220e308df0d703b72643950911ca965108097aacd85c7a9dd
@@ -1,3 +1,5 @@
1
+ require 'rspec/matchers'
2
+
1
3
  RSpec::Matchers.define :match_openapi_doc do |doc, options = {}| # rubocop:disable Metrics/BlockLength
2
4
  include OpenapiContracts::Helper
3
5
 
@@ -9,6 +9,13 @@ module OpenapiContracts::Validators
9
9
  def validate
10
10
  spec.headers.each do |header|
11
11
  value = response.headers[header.name]
12
+
13
+ # Rack 3.0.0 returns an Array for multi-value headers. OpenAPI doesn't
14
+ # support multi-value headers, so we join them into a single string.
15
+ #
16
+ # @see https://github.com/rack/rack/issues/1598
17
+ value = value.join("\n") if value.is_a?(Array)
18
+
12
19
  if value.blank?
13
20
  @errors << "Missing header #{header.name}" if header.required?
14
21
  elsif !JSONSchemer.schema(header.schema).valid?(value)
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openapi_contracts
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.1
4
+ version: 0.15.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - mkon
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-11-29 00:00:00.000000000 Z
10
+ date: 2025-01-14 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activesupport
@@ -36,7 +35,7 @@ dependencies:
36
35
  requirements:
37
36
  - - ">="
38
37
  - !ruby/object:Gem::Version
39
- version: '2'
38
+ version: '2.1'
40
39
  - - "<"
41
40
  - !ruby/object:Gem::Version
42
41
  version: '2.4'
@@ -46,7 +45,7 @@ dependencies:
46
45
  requirements:
47
46
  - - ">="
48
47
  - !ruby/object:Gem::Version
49
- version: '2'
48
+ version: '2.1'
50
49
  - - "<"
51
50
  - !ruby/object:Gem::Version
52
51
  version: '2.4'
@@ -154,7 +153,6 @@ dependencies:
154
153
  - - "~>"
155
154
  - !ruby/object:Gem::Version
156
155
  version: 0.22.0
157
- description:
158
156
  email:
159
157
  - konstantin@munteanu.de
160
158
  executables: []
@@ -199,7 +197,6 @@ licenses:
199
197
  - MIT
200
198
  metadata:
201
199
  rubygems_mfa_required: 'true'
202
- post_install_message:
203
200
  rdoc_options: []
204
201
  require_paths:
205
202
  - lib
@@ -210,15 +207,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
210
207
  version: '3.2'
211
208
  - - "<"
212
209
  - !ruby/object:Gem::Version
213
- version: '3.4'
210
+ version: '3.5'
214
211
  required_rubygems_version: !ruby/object:Gem::Requirement
215
212
  requirements:
216
213
  - - ">="
217
214
  - !ruby/object:Gem::Version
218
215
  version: '0'
219
216
  requirements: []
220
- rubygems_version: 3.5.11
221
- signing_key:
217
+ rubygems_version: 3.6.2
222
218
  specification_version: 4
223
219
  summary: Openapi schemas as API contracts
224
220
  test_files: []