skooma 0.3.4 → 0.3.6

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: 44e41865174e5bfeb3bf254ed74bb980aaa5d6aea0ca937fbea38b36242ac2ca
4
- data.tar.gz: 0b692735b5e0cd2e079b6a7d804b20c53d5069f5e6ed700117fb825f341e71a9
3
+ metadata.gz: cf16e672d609616c2a5c38912ba8139557ada73f4b0c3978a2961225ced903be
4
+ data.tar.gz: 657681c26bc1d52416b993ea8561d043a6aff1d9f4a87db787203a56ec77053f
5
5
  SHA512:
6
- metadata.gz: 2cbc3a15cf9640bb7bb5614d3b1610db5742218612168f873b74fc9343c1a20855e7a7809bdc3f0da7797071fedf5651057bd7a98fa0b29834e85eed4c453295
7
- data.tar.gz: 24717dabd2a57266162aa5827075e7c5c97d8d387faf782549887f1c0fc5383b4109679283f62320f45b01e8a6e6860bab66214e4e30224096ee1267b3b0dc3b
6
+ metadata.gz: 920065e5fbe155aa92dc92b87467a7676c54e6b5697dcb67a26dbb4ef6ddf52fb0660779ad14bfed3dfe4a437a6ad8296ea0f37901d5dac485d1ed537022b4b6
7
+ data.tar.gz: 317419a94b2f073e18f617260d0779eda14d546164688c038739445f6a696254cba546c747bff490156a70d458efd47d481e3e22b986ea0da390ab70a11e7253
data/CHANGELOG.md CHANGED
@@ -7,6 +7,33 @@ and this project adheres to [Semantic Versioning].
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.3.6] - 2025-09-04
11
+
12
+ ### Added
13
+
14
+ - Add OpenAPI 3.1.1 schemas to enable schema validation. ([@Envek])
15
+
16
+ ### Fixed
17
+
18
+ - Fix examples and callbacks support in Components. ([@goodtouch])
19
+
20
+ ## [0.3.5] - 2025-07-31
21
+
22
+ ### Fixed
23
+
24
+ - Fix the Enforce Access mode with additional properties. ([@aburgel])
25
+ - Introduce coverage storage to fix Minitest parallel workers reports. ([@skarlcf])
26
+ - Introduce `use_patterns_for_path_matching` option to allow using `path` patterns for path matching. ([@jandouwebeekman])
27
+
28
+ ```ruby
29
+ # spec/rails_helper.rb
30
+
31
+ RSpec.configure do |config|
32
+ # To enable path patterns, pass `use_patterns_for_path_matching: true` option:
33
+ config.include Skooma::RSpec[Rails.root.join("docs", "openapi.yml"), use_patterns_for_path_matching: true], type: :request
34
+ end
35
+ ```
36
+
10
37
  ## [0.3.4] - 2025-01-14
11
38
 
12
39
  ### Added
@@ -140,12 +167,19 @@ and this project adheres to [Semantic Versioning].
140
167
 
141
168
  - Initial implementation. ([@skryukov])
142
169
 
170
+ [@aburgel]: https://github.com/aburgel
143
171
  [@barnaclebarnes]: https://github.com/barnaclebarnes
172
+ [@Envek]: https://github.com/Envek
173
+ [@goodtouch]: https://github.com/goodtouch
174
+ [@jandouwebeekman]: https://github.com/jandouwebeekman
144
175
  [@pvcarrera]: https://github.com/pvcarrera
176
+ [@skarlcf]: https://github.com/skarlcf
145
177
  [@skryukov]: https://github.com/skryukov
146
178
  [@ursm]: https://github.com/ursm
147
179
 
148
- [Unreleased]: https://github.com/skryukov/skooma/compare/v0.3.4...HEAD
180
+ [Unreleased]: https://github.com/skryukov/skooma/compare/v0.3.6...HEAD
181
+ [0.3.6]: https://github.com/skryukov/skooma/compare/v0.3.5...v0.3.6
182
+ [0.3.5]: https://github.com/skryukov/skooma/compare/v0.3.4...v0.3.5
149
183
  [0.3.4]: https://github.com/skryukov/skooma/compare/v0.3.3...v0.3.4
150
184
  [0.3.3]: https://github.com/skryukov/skooma/compare/v0.3.2...v0.3.3
151
185
  [0.3.2]: https://github.com/skryukov/skooma/compare/v0.3.1...v0.3.2
data/README.md CHANGED
@@ -132,6 +132,9 @@ ActionDispatch::IntegrationTest.include Skooma::Minitest[path_to_openapi, covera
132
132
  # EXPERIMENTAL
133
133
  # To enable support for readOnly and writeOnly keywords, pass `enforce_access_modes: true` option:
134
134
  ActionDispatch::IntegrationTest.include Skooma::Minitest[path_to_openapi, enforce_access_modes: true], type: :request
135
+
136
+ # To enable custom regex patterns for path parameters, pass `use_patterns_for_path_matching: true` option.
137
+ ActionDispatch::IntegrationTest.include Skooma::Minitest[path_to_openapi, use_patterns_for_path_matching: true], type: :request
135
138
  ```
136
139
 
137
140
  #### Validate OpenAPI document
@@ -0,0 +1,93 @@
1
+ {
2
+ "$id": "https://spec.openapis.org/oas/3.1/meta/2024-11-10",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "title": "OAS Base Vocabulary",
5
+ "description": "A JSON Schema Vocabulary used in the OpenAPI Schema Dialect",
6
+ "$dynamicAnchor": "meta",
7
+ "$vocabulary": {
8
+ "https://spec.openapis.org/oas/3.1/vocab/base": true
9
+ },
10
+ "type": [
11
+ "object",
12
+ "boolean"
13
+ ],
14
+ "properties": {
15
+ "discriminator": {
16
+ "$ref": "#/$defs/discriminator"
17
+ },
18
+ "example": true,
19
+ "externalDocs": {
20
+ "$ref": "#/$defs/external-docs"
21
+ },
22
+ "xml": {
23
+ "$ref": "#/$defs/xml"
24
+ }
25
+ },
26
+ "$defs": {
27
+ "discriminator": {
28
+ "$ref": "#/$defs/extensible",
29
+ "properties": {
30
+ "mapping": {
31
+ "additionalProperties": {
32
+ "type": "string"
33
+ },
34
+ "type": "object"
35
+ },
36
+ "propertyName": {
37
+ "type": "string"
38
+ }
39
+ },
40
+ "required": [
41
+ "propertyName"
42
+ ],
43
+ "type": "object",
44
+ "unevaluatedProperties": false
45
+ },
46
+ "extensible": {
47
+ "patternProperties": {
48
+ "^x-": true
49
+ }
50
+ },
51
+ "external-docs": {
52
+ "$ref": "#/$defs/extensible",
53
+ "properties": {
54
+ "description": {
55
+ "type": "string"
56
+ },
57
+ "url": {
58
+ "format": "uri-reference",
59
+ "type": "string"
60
+ }
61
+ },
62
+ "required": [
63
+ "url"
64
+ ],
65
+ "type": "object",
66
+ "unevaluatedProperties": false
67
+ },
68
+ "xml": {
69
+ "$ref": "#/$defs/extensible",
70
+ "properties": {
71
+ "attribute": {
72
+ "type": "boolean"
73
+ },
74
+ "name": {
75
+ "type": "string"
76
+ },
77
+ "namespace": {
78
+ "format": "uri",
79
+ "type": "string"
80
+ },
81
+ "prefix": {
82
+ "type": "string"
83
+ },
84
+ "wrapped": {
85
+ "type": "boolean"
86
+ }
87
+ },
88
+ "type": "object",
89
+ "unevaluatedProperties": false
90
+ }
91
+ }
92
+ }
93
+
@@ -0,0 +1,92 @@
1
+ {
2
+ "$id": "https://spec.openapis.org/oas/3.1/meta/2024-11-10",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "title": "OAS Base Vocabulary",
5
+ "description": "A JSON Schema Vocabulary used in the OpenAPI Schema Dialect",
6
+ "$dynamicAnchor": "meta",
7
+ "$vocabulary": {
8
+ "https://spec.openapis.org/oas/3.1/vocab/base": true
9
+ },
10
+ "type": [
11
+ "object",
12
+ "boolean"
13
+ ],
14
+ "properties": {
15
+ "discriminator": {
16
+ "$ref": "#/$defs/discriminator"
17
+ },
18
+ "example": true,
19
+ "externalDocs": {
20
+ "$ref": "#/$defs/external-docs"
21
+ },
22
+ "xml": {
23
+ "$ref": "#/$defs/xml"
24
+ }
25
+ },
26
+ "$defs": {
27
+ "discriminator": {
28
+ "$ref": "#/$defs/extensible",
29
+ "properties": {
30
+ "mapping": {
31
+ "additionalProperties": {
32
+ "type": "string"
33
+ },
34
+ "type": "object"
35
+ },
36
+ "propertyName": {
37
+ "type": "string"
38
+ }
39
+ },
40
+ "required": [
41
+ "propertyName"
42
+ ],
43
+ "type": "object",
44
+ "unevaluatedProperties": false
45
+ },
46
+ "extensible": {
47
+ "patternProperties": {
48
+ "^x-": true
49
+ }
50
+ },
51
+ "external-docs": {
52
+ "$ref": "#/$defs/extensible",
53
+ "properties": {
54
+ "description": {
55
+ "type": "string"
56
+ },
57
+ "url": {
58
+ "format": "uri-reference",
59
+ "type": "string"
60
+ }
61
+ },
62
+ "required": [
63
+ "url"
64
+ ],
65
+ "type": "object",
66
+ "unevaluatedProperties": false
67
+ },
68
+ "xml": {
69
+ "$ref": "#/$defs/extensible",
70
+ "properties": {
71
+ "attribute": {
72
+ "type": "boolean"
73
+ },
74
+ "name": {
75
+ "type": "string"
76
+ },
77
+ "namespace": {
78
+ "format": "uri",
79
+ "type": "string"
80
+ },
81
+ "prefix": {
82
+ "type": "string"
83
+ },
84
+ "wrapped": {
85
+ "type": "boolean"
86
+ }
87
+ },
88
+ "type": "object",
89
+ "unevaluatedProperties": false
90
+ }
91
+ }
92
+ }