openapi_parser 2.5.0 → 2.6.0
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 +4 -4
- data/.github/workflows/ci.yaml +1 -3
- data/CHANGELOG.md +34 -0
- data/README.md +44 -1
- data/lib/openapi_parser/concerns/media_type_selectable.rb +18 -0
- data/lib/openapi_parser/concerns/schema_loader/creator.rb +7 -2
- data/lib/openapi_parser/concerns/schema_loader/hash_body_loader.rb +1 -1
- data/lib/openapi_parser/config.rb +5 -0
- data/lib/openapi_parser/errors.rb +24 -0
- data/lib/openapi_parser/schema_validator/any_of_validator.rb +1 -1
- data/lib/openapi_parser/schema_validator/base.rb +35 -9
- data/lib/openapi_parser/schema_validator/float_validator.rb +4 -0
- data/lib/openapi_parser/schema_validator/integer_validator.rb +17 -1
- data/lib/openapi_parser/schema_validator/multiple_of.rb +26 -0
- data/lib/openapi_parser/schema_validator/nil_validator.rb +4 -0
- data/lib/openapi_parser/schema_validator/one_of_validator.rb +1 -1
- data/lib/openapi_parser/schema_validator.rb +32 -4
- data/lib/openapi_parser/schemas/components.rb +4 -0
- data/lib/openapi_parser/schemas/discriminator.rb +4 -0
- data/lib/openapi_parser/schemas/media_type.rb +4 -0
- data/lib/openapi_parser/schemas/openapi.rb +36 -3
- data/lib/openapi_parser/schemas/path_item.rb +32 -6
- data/lib/openapi_parser/schemas/request_body.rb +1 -1
- data/lib/openapi_parser/schemas/response.rb +5 -1
- data/lib/openapi_parser/schemas/schema.rb +8 -1
- data/lib/openapi_parser/spec_validator/rule.rb +24 -3
- data/lib/openapi_parser/spec_validator/rules/additional_operations_before_32.rb +26 -0
- data/lib/openapi_parser/spec_validator/rules/allow_empty_value_deprecation.rb +26 -0
- data/lib/openapi_parser/spec_validator/rules/cookie_style_before_32.rb +26 -0
- data/lib/openapi_parser/spec_validator/rules/default_mapping_before_32.rb +29 -0
- data/lib/openapi_parser/spec_validator/rules/defs_in_30.rb +25 -0
- data/lib/openapi_parser/spec_validator/rules/example_value_fields_before_32.rb +48 -0
- data/lib/openapi_parser/spec_validator/rules/media_types_before_32.rb +24 -0
- data/lib/openapi_parser/spec_validator/rules/query_method_before_32.rb +26 -0
- data/lib/openapi_parser/spec_validator/rules/querystring_before_32.rb +26 -0
- data/lib/openapi_parser/spec_validator/rules/response_summary_before_32.rb +25 -0
- data/lib/openapi_parser/spec_validator/rules/security_scheme_fields_before_32.rb +41 -0
- data/lib/openapi_parser/spec_validator/rules/server_name_before_32.rb +35 -0
- data/lib/openapi_parser/spec_validator/rules/streaming_fields_before_32.rb +56 -0
- data/lib/openapi_parser/spec_validator/rules/tag_fields_before_32.rb +34 -0
- data/lib/openapi_parser/spec_validator/rules/xml_attribute_deprecation.rb +29 -0
- data/lib/openapi_parser/spec_validator/rules/xml_node_type_before_32.rb +29 -0
- data/lib/openapi_parser/spec_validator/rules/xml_wrapped_deprecation.rb +29 -0
- data/lib/openapi_parser/spec_validator.rb +34 -0
- data/lib/openapi_parser/version.rb +1 -1
- data/lib/openapi_parser.rb +5 -4
- data/sig/openapi_parser/config.rbs +1 -0
- data/sig/openapi_parser/schema_validator.rbs +1 -0
- data/sig/openapi_parser/schema_validators/base.rbs +4 -2
- data/sig/openapi_parser/spec_validator.rbs +77 -0
- data/sig/openapi_parser.rbs +5 -3
- data/sig/wip_types.rbs +6 -0
- metadata +19 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
module OpenAPIParser
|
|
2
|
+
class SpecValidator
|
|
3
|
+
module Rules
|
|
4
|
+
# 3.2 deprecates `wrapped: true` on the XML Object in favor of
|
|
5
|
+
# `nodeType: element`. The field is still allowed but discouraged,
|
|
6
|
+
# so we report it as a violation on 3.2 documents.
|
|
7
|
+
class XmlWrappedDeprecation < Rule
|
|
8
|
+
def check(root)
|
|
9
|
+
return [] unless version_at_least?('3.2')
|
|
10
|
+
|
|
11
|
+
violations = []
|
|
12
|
+
each_schema(root) do |schema|
|
|
13
|
+
raw = schema.raw_schema
|
|
14
|
+
next unless raw.is_a?(Hash)
|
|
15
|
+
|
|
16
|
+
xml = raw['xml']
|
|
17
|
+
next unless xml.is_a?(Hash) && xml['wrapped'] == true
|
|
18
|
+
|
|
19
|
+
violations << violation(
|
|
20
|
+
path: schema.object_reference,
|
|
21
|
+
message: '`wrapped` on an XML Object is deprecated in 3.2; use `nodeType: element`',
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
violations
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -17,7 +17,24 @@ require_relative 'spec_validator/rules/const_in_30'
|
|
|
17
17
|
require_relative 'spec_validator/rules/dynamic_ref_in_30'
|
|
18
18
|
require_relative 'spec_validator/rules/dynamic_anchor_in_30'
|
|
19
19
|
require_relative 'spec_validator/rules/content_schema_in_30'
|
|
20
|
+
require_relative 'spec_validator/rules/defs_in_30'
|
|
21
|
+
require_relative 'spec_validator/rules/allow_empty_value_deprecation'
|
|
22
|
+
require_relative 'spec_validator/rules/xml_node_type_before_32'
|
|
23
|
+
require_relative 'spec_validator/rules/xml_attribute_deprecation'
|
|
24
|
+
require_relative 'spec_validator/rules/xml_wrapped_deprecation'
|
|
25
|
+
require_relative 'spec_validator/rules/media_types_before_32'
|
|
26
|
+
require_relative 'spec_validator/rules/default_mapping_before_32'
|
|
27
|
+
require_relative 'spec_validator/rules/cookie_style_before_32'
|
|
28
|
+
require_relative 'spec_validator/rules/server_name_before_32'
|
|
20
29
|
require_relative 'spec_validator/rules/self_before_32'
|
|
30
|
+
require_relative 'spec_validator/rules/query_method_before_32'
|
|
31
|
+
require_relative 'spec_validator/rules/additional_operations_before_32'
|
|
32
|
+
require_relative 'spec_validator/rules/response_summary_before_32'
|
|
33
|
+
require_relative 'spec_validator/rules/tag_fields_before_32'
|
|
34
|
+
require_relative 'spec_validator/rules/example_value_fields_before_32'
|
|
35
|
+
require_relative 'spec_validator/rules/security_scheme_fields_before_32'
|
|
36
|
+
require_relative 'spec_validator/rules/streaming_fields_before_32'
|
|
37
|
+
require_relative 'spec_validator/rules/querystring_before_32'
|
|
21
38
|
|
|
22
39
|
module OpenAPIParser
|
|
23
40
|
class SpecViolationError < OpenAPIError
|
|
@@ -82,7 +99,24 @@ module OpenAPIParser
|
|
|
82
99
|
Rules::DynamicRefIn30,
|
|
83
100
|
Rules::DynamicAnchorIn30,
|
|
84
101
|
Rules::ContentSchemaIn30,
|
|
102
|
+
Rules::DefsIn30,
|
|
103
|
+
Rules::AllowEmptyValueDeprecation,
|
|
104
|
+
Rules::XmlNodeTypeBefore32,
|
|
105
|
+
Rules::XmlAttributeDeprecation,
|
|
106
|
+
Rules::XmlWrappedDeprecation,
|
|
107
|
+
Rules::MediaTypesBefore32,
|
|
108
|
+
Rules::DefaultMappingBefore32,
|
|
109
|
+
Rules::CookieStyleBefore32,
|
|
110
|
+
Rules::ServerNameBefore32,
|
|
85
111
|
Rules::SelfBefore32,
|
|
112
|
+
Rules::QueryMethodBefore32,
|
|
113
|
+
Rules::AdditionalOperationsBefore32,
|
|
114
|
+
Rules::ResponseSummaryBefore32,
|
|
115
|
+
Rules::TagFieldsBefore32,
|
|
116
|
+
Rules::ExampleValueFieldsBefore32,
|
|
117
|
+
Rules::SecuritySchemeFieldsBefore32,
|
|
118
|
+
Rules::StreamingFieldsBefore32,
|
|
119
|
+
Rules::QuerystringBefore32,
|
|
86
120
|
]
|
|
87
121
|
end
|
|
88
122
|
end
|
data/lib/openapi_parser.rb
CHANGED
|
@@ -40,8 +40,9 @@ module OpenAPIParser
|
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
# Load schema located by the passed uri. Uri must be absolute.
|
|
43
|
+
# @param [OpenAPIParser::Schemas::OpenAPI, nil] referrer the document whose $ref loads this one
|
|
43
44
|
# @return [OpenAPIParser::Schemas::OpenAPI]
|
|
44
|
-
def load_uri(uri, config:, schema_registry:)
|
|
45
|
+
def load_uri(uri, config:, schema_registry:, referrer: nil)
|
|
45
46
|
# Open-uri doesn't open file scheme uri, so we try to open file path directly
|
|
46
47
|
# File scheme uri which points to a remote file is not supported.
|
|
47
48
|
uri_path = uri.path
|
|
@@ -54,7 +55,7 @@ module OpenAPIParser
|
|
|
54
55
|
end
|
|
55
56
|
|
|
56
57
|
extension = Pathname.new(uri_path).extname
|
|
57
|
-
load_hash(parse_file(content, extension), config: config, uri: uri, schema_registry: schema_registry)
|
|
58
|
+
load_hash(parse_file(content, extension), config: config, uri: uri, schema_registry: schema_registry, referrer: referrer)
|
|
58
59
|
end
|
|
59
60
|
|
|
60
61
|
private
|
|
@@ -90,8 +91,8 @@ module OpenAPIParser
|
|
|
90
91
|
JSON.parse(content)
|
|
91
92
|
end
|
|
92
93
|
|
|
93
|
-
def load_hash(hash, config:, uri:, schema_registry:)
|
|
94
|
-
root = Schemas::OpenAPI.new(hash, config, uri: uri, schema_registry: schema_registry)
|
|
94
|
+
def load_hash(hash, config:, uri:, schema_registry:, referrer: nil)
|
|
95
|
+
root = Schemas::OpenAPI.new(hash, config, uri: uri, schema_registry: schema_registry, referrer: referrer)
|
|
95
96
|
|
|
96
97
|
OpenAPIParser::ReferenceExpander.expand(root, config.strict_reference_validation) if config.expand_reference
|
|
97
98
|
|
|
@@ -9,6 +9,7 @@ module OpenAPIParser
|
|
|
9
9
|
|
|
10
10
|
def initialize: (untyped config) -> untyped
|
|
11
11
|
def allow_empty_date_and_datetime: -> bool
|
|
12
|
+
def allow_3_2_features: -> bool
|
|
12
13
|
def date_coerce_class: -> (singleton(Object) | nil)
|
|
13
14
|
def datetime_coerce_class: -> (singleton(Object) | nil)
|
|
14
15
|
def coerce_value: -> bool
|
|
@@ -10,9 +10,11 @@ module OpenAPIParser
|
|
|
10
10
|
def coerce_and_validate: (Object _value, OpenAPIParser::Schemas::Schema _schema, **untyped) -> [untyped, (ValidateError | NotExistDiscriminatorMappedSchema | nil)]
|
|
11
11
|
def validate_discriminator_schema: (
|
|
12
12
|
OpenAPIParser::Schemas::Discriminator discriminator,
|
|
13
|
-
Hash[String,
|
|
13
|
+
Hash[String, untyped] value,
|
|
14
|
+
?candidate_schemas: Array[OpenAPIParser::Schemas::Schema] | nil,
|
|
14
15
|
?parent_discriminator_schemas: Array[OpenAPIParser::Schemas::Schema]
|
|
15
|
-
) -> [Object | nil, OpenAPIParser::OpenAPIError]
|
|
16
|
+
) -> [Object | nil, OpenAPIParser::OpenAPIError | nil]
|
|
17
|
+
private def default_mapping_target: (OpenAPIParser::Schemas::Discriminator discriminator) -> (String | nil)
|
|
16
18
|
end
|
|
17
19
|
end
|
|
18
20
|
end
|
|
@@ -35,6 +35,9 @@ module OpenAPIParser
|
|
|
35
35
|
def version_at_least?: (String boundary) -> bool
|
|
36
36
|
private def violation: (path: String, message: String) -> SpecViolation
|
|
37
37
|
private def each_schema: (untyped root) ?{ (untyped) -> void } -> untyped
|
|
38
|
+
private def each_node: (untyped root, *Class klasses) { (untyped) -> void } -> void
|
|
39
|
+
private def each_security_scheme: (untyped root) { (String, Hash[untyped, untyped]) -> void } -> void
|
|
40
|
+
private def escape_reference: (untyped key) -> String
|
|
38
41
|
private def walk: (untyped node, Hash[Integer, bool] visited) { (untyped) -> void } -> void
|
|
39
42
|
end
|
|
40
43
|
|
|
@@ -107,9 +110,83 @@ module OpenAPIParser
|
|
|
107
110
|
def check: (OpenAPIParser::Schemas::OpenAPI root) -> Array[SpecValidator::SpecViolation]
|
|
108
111
|
end
|
|
109
112
|
|
|
113
|
+
class DefsIn30 < Rule
|
|
114
|
+
def check: (OpenAPIParser::Schemas::OpenAPI root) -> Array[SpecValidator::SpecViolation]
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
class AllowEmptyValueDeprecation < Rule
|
|
118
|
+
def check: (OpenAPIParser::Schemas::OpenAPI root) -> Array[SpecValidator::SpecViolation]
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
class XmlNodeTypeBefore32 < Rule
|
|
122
|
+
def check: (OpenAPIParser::Schemas::OpenAPI root) -> Array[SpecValidator::SpecViolation]
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
class XmlAttributeDeprecation < Rule
|
|
126
|
+
def check: (OpenAPIParser::Schemas::OpenAPI root) -> Array[SpecValidator::SpecViolation]
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
class XmlWrappedDeprecation < Rule
|
|
130
|
+
def check: (OpenAPIParser::Schemas::OpenAPI root) -> Array[SpecValidator::SpecViolation]
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
class MediaTypesBefore32 < Rule
|
|
134
|
+
def check: (OpenAPIParser::Schemas::OpenAPI root) -> Array[SpecValidator::SpecViolation]
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
class DefaultMappingBefore32 < Rule
|
|
138
|
+
def check: (OpenAPIParser::Schemas::OpenAPI root) -> Array[SpecValidator::SpecViolation]
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
class CookieStyleBefore32 < Rule
|
|
142
|
+
def check: (OpenAPIParser::Schemas::OpenAPI root) -> Array[SpecValidator::SpecViolation]
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
class ServerNameBefore32 < Rule
|
|
146
|
+
def check: (OpenAPIParser::Schemas::OpenAPI root) -> Array[SpecValidator::SpecViolation]
|
|
147
|
+
end
|
|
148
|
+
|
|
110
149
|
class SelfBefore32 < Rule
|
|
111
150
|
def check: (OpenAPIParser::Schemas::OpenAPI root) -> Array[SpecValidator::SpecViolation]
|
|
112
151
|
end
|
|
152
|
+
|
|
153
|
+
class QueryMethodBefore32 < Rule
|
|
154
|
+
def check: (OpenAPIParser::Schemas::OpenAPI root) -> Array[SpecValidator::SpecViolation]
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
class AdditionalOperationsBefore32 < Rule
|
|
158
|
+
def check: (OpenAPIParser::Schemas::OpenAPI root) -> Array[SpecValidator::SpecViolation]
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
class ResponseSummaryBefore32 < Rule
|
|
162
|
+
def check: (OpenAPIParser::Schemas::OpenAPI root) -> Array[SpecValidator::SpecViolation]
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
class TagFieldsBefore32 < Rule
|
|
166
|
+
NEW_FIELDS: Array[String]
|
|
167
|
+
def check: (OpenAPIParser::Schemas::OpenAPI root) -> Array[SpecValidator::SpecViolation]
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
class ExampleValueFieldsBefore32 < Rule
|
|
171
|
+
NEW_FIELDS: Array[String]
|
|
172
|
+
def check: (OpenAPIParser::Schemas::OpenAPI root) -> Array[SpecValidator::SpecViolation]
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
class SecuritySchemeFieldsBefore32 < Rule
|
|
176
|
+
NEW_FIELDS: Array[String]
|
|
177
|
+
def check: (OpenAPIParser::Schemas::OpenAPI root) -> Array[SpecValidator::SpecViolation]
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
class StreamingFieldsBefore32 < Rule
|
|
181
|
+
NEW_FIELDS: Array[String]
|
|
182
|
+
NEW_ENCODING_FIELDS: Array[String]
|
|
183
|
+
private def encoding_violations: (untyped node, untyped encodings) -> Array[SpecValidator::SpecViolation]
|
|
184
|
+
def check: (OpenAPIParser::Schemas::OpenAPI root) -> Array[SpecValidator::SpecViolation]
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
class QuerystringBefore32 < Rule
|
|
188
|
+
def check: (OpenAPIParser::Schemas::OpenAPI root) -> Array[SpecValidator::SpecViolation]
|
|
189
|
+
end
|
|
113
190
|
end
|
|
114
191
|
end
|
|
115
192
|
|
data/sig/openapi_parser.rbs
CHANGED
|
@@ -2,20 +2,22 @@ module OpenAPIParser
|
|
|
2
2
|
def self.parse: (Hash[bot, bot] schema, ?Hash[bot, bot] config) -> OpenAPIParser::Schemas::OpenAPI
|
|
3
3
|
def self.parse_with_filepath: (Hash[bot, bot] schema, String filepath, ?Hash[bot, bot] config) -> OpenAPIParser::Schemas::OpenAPI
|
|
4
4
|
def self.load: (String filepath, ?Hash[bot, bot] config) -> OpenAPIParser::Schemas::OpenAPI
|
|
5
|
-
def self.load_uri: (OpenAPIParser::readable_uri uri, config: untyped, schema_registry: Hash[bot, bot]) -> OpenAPIParser::Schemas::OpenAPI
|
|
5
|
+
def self.load_uri: (OpenAPIParser::readable_uri uri, config: untyped, schema_registry: Hash[bot, bot], ?referrer: OpenAPIParser::Schemas::OpenAPI?) -> OpenAPIParser::Schemas::OpenAPI
|
|
6
6
|
def self.file_uri: (String filepath) -> URI::Generic
|
|
7
7
|
def self.parse_file: (String? content, String ext) -> Hash[bot, bot]
|
|
8
8
|
def self.parse_yaml: (String? content) -> Hash[bot, bot]
|
|
9
9
|
def self.parse_json: (String? content) -> Hash[bot, bot]
|
|
10
|
-
def self.load_hash: (Hash[bot, bot] hash, config: untyped, uri: OpenAPIParser::readable_uri?, schema_registry: Hash[bot, bot]) -> OpenAPIParser::Schemas::OpenAPI
|
|
10
|
+
def self.load_hash: (Hash[bot, bot] hash, config: untyped, uri: OpenAPIParser::readable_uri?, schema_registry: Hash[bot, bot], ?referrer: OpenAPIParser::Schemas::OpenAPI?) -> OpenAPIParser::Schemas::OpenAPI
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
module OpenAPIParser
|
|
14
14
|
module Schemas
|
|
15
15
|
class OpenAPI
|
|
16
|
-
def initialize: (Hash[bot, bot] hash, untyped config, uri: OpenAPIParser::readable_uri?, schema_registry: Hash[bot, bot]) -> OpenAPIParser::Schemas::OpenAPI
|
|
16
|
+
def initialize: (Hash[bot, bot] hash, untyped config, uri: OpenAPIParser::readable_uri?, schema_registry: Hash[bot, bot], ?referrer: OpenAPIParser::Schemas::OpenAPI?) -> OpenAPIParser::Schemas::OpenAPI
|
|
17
17
|
def openapi: () -> String?
|
|
18
18
|
def openapi_version: () -> Gem::Version?
|
|
19
|
+
def use_3_1_features?: () -> bool
|
|
20
|
+
def use_3_2_features?: () -> bool
|
|
19
21
|
end
|
|
20
22
|
end
|
|
21
23
|
end
|
data/sig/wip_types.rbs
CHANGED
|
@@ -48,6 +48,11 @@ end
|
|
|
48
48
|
|
|
49
49
|
class OpenAPIParser::Schemas::OpenAPI < OpenAPIParser::Schemas::Base
|
|
50
50
|
attr_reader paths: untyped
|
|
51
|
+
attr_reader components: OpenAPIParser::Schemas::Components | nil
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
class OpenAPIParser::Schemas::Components < OpenAPIParser::Schemas::Base
|
|
55
|
+
attr_reader schemas: Hash[String, OpenAPIParser::Schemas::Schema] | nil
|
|
51
56
|
end
|
|
52
57
|
|
|
53
58
|
module OpenAPIParser::Expandable
|
|
@@ -61,4 +66,5 @@ end
|
|
|
61
66
|
class OpenAPIParser::Schemas::Discriminator < OpenAPIParser::Schemas::Base
|
|
62
67
|
attr_reader property_name: (String | nil)
|
|
63
68
|
attr_reader mapping: Hash[String, String]
|
|
69
|
+
attr_reader default_mapping: (String | nil)
|
|
64
70
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: openapi_parser
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.6.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- ota42y
|
|
@@ -182,6 +182,7 @@ files:
|
|
|
182
182
|
- lib/openapi_parser/schema_validator/float_validator.rb
|
|
183
183
|
- lib/openapi_parser/schema_validator/integer_validator.rb
|
|
184
184
|
- lib/openapi_parser/schema_validator/minimum_maximum.rb
|
|
185
|
+
- lib/openapi_parser/schema_validator/multiple_of.rb
|
|
185
186
|
- lib/openapi_parser/schema_validator/nil_validator.rb
|
|
186
187
|
- lib/openapi_parser/schema_validator/object_validator.rb
|
|
187
188
|
- lib/openapi_parser/schema_validator/one_of_validator.rb
|
|
@@ -210,24 +211,41 @@ files:
|
|
|
210
211
|
- lib/openapi_parser/schemas/schema.rb
|
|
211
212
|
- lib/openapi_parser/spec_validator.rb
|
|
212
213
|
- lib/openapi_parser/spec_validator/rule.rb
|
|
214
|
+
- lib/openapi_parser/spec_validator/rules/additional_operations_before_32.rb
|
|
215
|
+
- lib/openapi_parser/spec_validator/rules/allow_empty_value_deprecation.rb
|
|
213
216
|
- lib/openapi_parser/spec_validator/rules/boolean_schema_in_30.rb
|
|
214
217
|
- lib/openapi_parser/spec_validator/rules/const_in_30.rb
|
|
215
218
|
- lib/openapi_parser/spec_validator/rules/content_encoding_in_30.rb
|
|
216
219
|
- lib/openapi_parser/spec_validator/rules/content_media_type_in_30.rb
|
|
217
220
|
- lib/openapi_parser/spec_validator/rules/content_schema_in_30.rb
|
|
221
|
+
- lib/openapi_parser/spec_validator/rules/cookie_style_before_32.rb
|
|
222
|
+
- lib/openapi_parser/spec_validator/rules/default_mapping_before_32.rb
|
|
223
|
+
- lib/openapi_parser/spec_validator/rules/defs_in_30.rb
|
|
218
224
|
- lib/openapi_parser/spec_validator/rules/dynamic_anchor_in_30.rb
|
|
219
225
|
- lib/openapi_parser/spec_validator/rules/dynamic_ref_in_30.rb
|
|
220
226
|
- lib/openapi_parser/spec_validator/rules/example_singular_deprecation.rb
|
|
227
|
+
- lib/openapi_parser/spec_validator/rules/example_value_fields_before_32.rb
|
|
221
228
|
- lib/openapi_parser/spec_validator/rules/exclusive_maximum.rb
|
|
222
229
|
- lib/openapi_parser/spec_validator/rules/exclusive_minimum.rb
|
|
223
230
|
- lib/openapi_parser/spec_validator/rules/json_schema_dialect_in_30.rb
|
|
231
|
+
- lib/openapi_parser/spec_validator/rules/media_types_before_32.rb
|
|
224
232
|
- lib/openapi_parser/spec_validator/rules/nullable_deprecation.rb
|
|
225
233
|
- lib/openapi_parser/spec_validator/rules/path_items_in_30.rb
|
|
226
234
|
- lib/openapi_parser/spec_validator/rules/prefix_items_in_30.rb
|
|
235
|
+
- lib/openapi_parser/spec_validator/rules/query_method_before_32.rb
|
|
236
|
+
- lib/openapi_parser/spec_validator/rules/querystring_before_32.rb
|
|
237
|
+
- lib/openapi_parser/spec_validator/rules/response_summary_before_32.rb
|
|
238
|
+
- lib/openapi_parser/spec_validator/rules/security_scheme_fields_before_32.rb
|
|
227
239
|
- lib/openapi_parser/spec_validator/rules/self_before_32.rb
|
|
240
|
+
- lib/openapi_parser/spec_validator/rules/server_name_before_32.rb
|
|
241
|
+
- lib/openapi_parser/spec_validator/rules/streaming_fields_before_32.rb
|
|
242
|
+
- lib/openapi_parser/spec_validator/rules/tag_fields_before_32.rb
|
|
228
243
|
- lib/openapi_parser/spec_validator/rules/type_array_in_30.rb
|
|
229
244
|
- lib/openapi_parser/spec_validator/rules/type_null_in_30.rb
|
|
230
245
|
- lib/openapi_parser/spec_validator/rules/webhooks_in_30.rb
|
|
246
|
+
- lib/openapi_parser/spec_validator/rules/xml_attribute_deprecation.rb
|
|
247
|
+
- lib/openapi_parser/spec_validator/rules/xml_node_type_before_32.rb
|
|
248
|
+
- lib/openapi_parser/spec_validator/rules/xml_wrapped_deprecation.rb
|
|
231
249
|
- lib/openapi_parser/spec_validator/spec_violation.rb
|
|
232
250
|
- lib/openapi_parser/version.rb
|
|
233
251
|
- openapi_parser.gemspec
|