openapi3_parser 0.3.0 → 0.4.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/.rubocop.yml +4 -0
- data/.travis.yml +3 -5
- data/CHANGELOG.md +7 -0
- data/README.md +2 -2
- data/TODO.md +9 -2
- data/lib/openapi3_parser/context/pointer.rb +2 -0
- data/lib/openapi3_parser/document.rb +54 -18
- data/lib/openapi3_parser/markdown.rb +15 -0
- data/lib/openapi3_parser/{nodes → node}/array.rb +1 -1
- data/lib/openapi3_parser/{nodes → node}/callback.rb +2 -4
- data/lib/openapi3_parser/{nodes → node}/components.rb +2 -4
- data/lib/openapi3_parser/{nodes → node}/contact.rb +2 -4
- data/lib/openapi3_parser/{nodes → node}/discriminator.rb +2 -4
- data/lib/openapi3_parser/{nodes → node}/encoding.rb +2 -4
- data/lib/openapi3_parser/{nodes → node}/example.rb +7 -4
- data/lib/openapi3_parser/{nodes → node}/external_documentation.rb +7 -4
- data/lib/openapi3_parser/{nodes → node}/header.rb +4 -5
- data/lib/openapi3_parser/{nodes → node}/info.rb +9 -6
- data/lib/openapi3_parser/{nodes → node}/license.rb +2 -4
- data/lib/openapi3_parser/{nodes → node}/link.rb +7 -4
- data/lib/openapi3_parser/node/map.rb +1 -1
- data/lib/openapi3_parser/{nodes → node}/media_type.rb +2 -4
- data/lib/openapi3_parser/{nodes → node}/oauth_flow.rb +2 -4
- data/lib/openapi3_parser/{nodes → node}/oauth_flows.rb +2 -4
- data/lib/openapi3_parser/node/object.rb +11 -1
- data/lib/openapi3_parser/{nodes → node}/openapi.rb +6 -8
- data/lib/openapi3_parser/{nodes → node}/operation.rb +11 -8
- data/lib/openapi3_parser/{nodes → node}/parameter.rb +3 -4
- data/lib/openapi3_parser/node/parameter_like.rb +70 -0
- data/lib/openapi3_parser/{nodes → node}/path_item.rb +9 -6
- data/lib/openapi3_parser/{nodes → node}/paths.rb +2 -4
- data/lib/openapi3_parser/{nodes → node}/request_body.rb +7 -4
- data/lib/openapi3_parser/{nodes → node}/response.rb +7 -4
- data/lib/openapi3_parser/{nodes → node}/responses.rb +2 -4
- data/lib/openapi3_parser/{nodes → node}/schema.rb +12 -9
- data/lib/openapi3_parser/{nodes → node}/security_requirement.rb +2 -4
- data/lib/openapi3_parser/{nodes → node}/security_scheme.rb +7 -5
- data/lib/openapi3_parser/{nodes → node}/server.rb +7 -4
- data/lib/openapi3_parser/{nodes → node}/server_variable.rb +8 -5
- data/lib/openapi3_parser/{nodes → node}/tag.rb +7 -4
- data/lib/openapi3_parser/{nodes → node}/xml.rb +2 -4
- data/lib/openapi3_parser/node_factories/array.rb +10 -4
- data/lib/openapi3_parser/node_factories/callback.rb +2 -2
- data/lib/openapi3_parser/node_factories/components.rb +5 -3
- data/lib/openapi3_parser/node_factories/contact.rb +10 -4
- data/lib/openapi3_parser/node_factories/discriminator.rb +2 -2
- data/lib/openapi3_parser/node_factories/encoding.rb +7 -3
- data/lib/openapi3_parser/node_factories/example.rb +8 -3
- data/lib/openapi3_parser/node_factories/external_documentation.rb +7 -3
- data/lib/openapi3_parser/node_factories/header.rb +2 -2
- data/lib/openapi3_parser/node_factories/info.rb +6 -3
- data/lib/openapi3_parser/node_factories/license.rb +6 -3
- data/lib/openapi3_parser/node_factories/link.rb +4 -2
- data/lib/openapi3_parser/node_factories/map.rb +12 -4
- data/lib/openapi3_parser/node_factories/media_type.rb +36 -5
- data/lib/openapi3_parser/node_factories/oauth_flow.rb +2 -2
- data/lib/openapi3_parser/node_factories/oauth_flows.rb +2 -2
- data/lib/openapi3_parser/node_factories/openapi.rb +13 -3
- data/lib/openapi3_parser/node_factories/operation.rb +11 -3
- data/lib/openapi3_parser/node_factories/parameter.rb +28 -3
- data/lib/openapi3_parser/node_factories/parameter/parameter_like.rb +9 -5
- data/lib/openapi3_parser/node_factories/path_item.rb +26 -7
- data/lib/openapi3_parser/node_factories/paths.rb +51 -2
- data/lib/openapi3_parser/node_factories/reference.rb +4 -0
- data/lib/openapi3_parser/node_factories/request_body.rb +32 -3
- data/lib/openapi3_parser/node_factories/response.rb +24 -4
- data/lib/openapi3_parser/node_factories/responses.rb +28 -2
- data/lib/openapi3_parser/node_factories/schema.rb +17 -3
- data/lib/openapi3_parser/node_factories/security_requirement.rb +2 -2
- data/lib/openapi3_parser/node_factories/security_scheme.rb +2 -2
- data/lib/openapi3_parser/node_factories/server.rb +2 -2
- data/lib/openapi3_parser/node_factories/server_variable.rb +2 -2
- data/lib/openapi3_parser/node_factories/tag.rb +2 -2
- data/lib/openapi3_parser/node_factories/xml.rb +6 -3
- data/lib/openapi3_parser/node_factory.rb +10 -4
- data/lib/openapi3_parser/node_factory/fields/reference.rb +4 -0
- data/lib/openapi3_parser/node_factory/map.rb +10 -0
- data/lib/openapi3_parser/node_factory/object.rb +29 -0
- data/lib/openapi3_parser/node_factory/object/validator.rb +69 -6
- data/lib/openapi3_parser/source/reference.rb +2 -0
- data/lib/openapi3_parser/source/reference_resolver.rb +5 -1
- data/lib/openapi3_parser/validators/absolute_uri.rb +14 -0
- data/lib/openapi3_parser/validators/component_keys.rb +17 -0
- data/lib/openapi3_parser/validators/duplicate_parameters.rb +30 -0
- data/lib/openapi3_parser/validators/email.rb +23 -0
- data/lib/openapi3_parser/validators/media_type.rb +20 -0
- data/lib/openapi3_parser/validators/url.rb +18 -0
- data/lib/openapi3_parser/version.rb +1 -1
- data/openapi3_parser.gemspec +5 -2
- metadata +70 -36
- data/lib/openapi3_parser/nodes/map.rb +0 -17
- data/lib/openapi3_parser/nodes/parameter/parameter_like.rb +0 -67
|
@@ -3,11 +3,9 @@
|
|
|
3
3
|
require "openapi3_parser/node/object"
|
|
4
4
|
|
|
5
5
|
module Openapi3Parser
|
|
6
|
-
module
|
|
6
|
+
module Node
|
|
7
7
|
# @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#linkObject
|
|
8
|
-
class Link
|
|
9
|
-
include Node::Object
|
|
10
|
-
|
|
8
|
+
class Link < Node::Object
|
|
11
9
|
# @return [String, nil]
|
|
12
10
|
def operation_ref
|
|
13
11
|
node_data["operationRef"]
|
|
@@ -33,6 +31,11 @@ module Openapi3Parser
|
|
|
33
31
|
node_data["description"]
|
|
34
32
|
end
|
|
35
33
|
|
|
34
|
+
# @return [String, nil]
|
|
35
|
+
def description_html
|
|
36
|
+
render_markdown(description)
|
|
37
|
+
end
|
|
38
|
+
|
|
36
39
|
# @return [Server, nil]
|
|
37
40
|
def server
|
|
38
41
|
node_data["server"]
|
|
@@ -3,11 +3,9 @@
|
|
|
3
3
|
require "openapi3_parser/node/object"
|
|
4
4
|
|
|
5
5
|
module Openapi3Parser
|
|
6
|
-
module
|
|
6
|
+
module Node
|
|
7
7
|
# @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#mediaTypeObject
|
|
8
|
-
class MediaType
|
|
9
|
-
include Node::Object
|
|
10
|
-
|
|
8
|
+
class MediaType < Node::Object
|
|
11
9
|
# @return [Schema, nil]
|
|
12
10
|
def schema
|
|
13
11
|
node_data["schema"]
|
|
@@ -3,11 +3,9 @@
|
|
|
3
3
|
require "openapi3_parser/node/object"
|
|
4
4
|
|
|
5
5
|
module Openapi3Parser
|
|
6
|
-
module
|
|
6
|
+
module Node
|
|
7
7
|
# @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#oauthFlowObject
|
|
8
|
-
class OauthFlow
|
|
9
|
-
include Node::Object
|
|
10
|
-
|
|
8
|
+
class OauthFlow < Node::Object
|
|
11
9
|
# @return [String, nil]
|
|
12
10
|
def authorization_url
|
|
13
11
|
node_data["authorizationUrl"]
|
|
@@ -3,11 +3,9 @@
|
|
|
3
3
|
require "openapi3_parser/node/object"
|
|
4
4
|
|
|
5
5
|
module Openapi3Parser
|
|
6
|
-
module
|
|
6
|
+
module Node
|
|
7
7
|
# @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#oauthFlowsObject
|
|
8
|
-
class OauthFlows
|
|
9
|
-
include Node::Object
|
|
10
|
-
|
|
8
|
+
class OauthFlows < Node::Object
|
|
11
9
|
# @return [OauthFlow, nil]
|
|
12
10
|
def implicit
|
|
13
11
|
node_data["implicit"]
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require "openapi3_parser/markdown"
|
|
4
|
+
|
|
3
5
|
module Openapi3Parser
|
|
4
6
|
module Node
|
|
5
|
-
|
|
7
|
+
class Object
|
|
6
8
|
include Enumerable
|
|
7
9
|
|
|
8
10
|
attr_reader :node_data, :node_context
|
|
@@ -48,6 +50,14 @@ module Openapi3Parser
|
|
|
48
50
|
def each(&block)
|
|
49
51
|
node_data.each(&block)
|
|
50
52
|
end
|
|
53
|
+
|
|
54
|
+
# Used to render fields that can be in markdown syntax into HTML
|
|
55
|
+
# @param [String, nil] value
|
|
56
|
+
# @return [String, nil]
|
|
57
|
+
def render_markdown(value)
|
|
58
|
+
return if value.nil?
|
|
59
|
+
Markdown.to_html(value)
|
|
60
|
+
end
|
|
51
61
|
end
|
|
52
62
|
end
|
|
53
63
|
end
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require "openapi3_parser/node/object"
|
|
4
|
-
require "openapi3_parser/
|
|
4
|
+
require "openapi3_parser/node/components"
|
|
5
5
|
|
|
6
6
|
module Openapi3Parser
|
|
7
|
-
module
|
|
7
|
+
module Node
|
|
8
8
|
# OpenAPI Root Object
|
|
9
9
|
# @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#oasObject
|
|
10
|
-
class Openapi
|
|
11
|
-
include Node::Object
|
|
12
|
-
|
|
10
|
+
class Openapi < Node::Object
|
|
13
11
|
# @return [String]
|
|
14
12
|
def openapi
|
|
15
13
|
node_data["openapi"]
|
|
@@ -20,7 +18,7 @@ module Openapi3Parser
|
|
|
20
18
|
node_data["info"]
|
|
21
19
|
end
|
|
22
20
|
|
|
23
|
-
# @return [
|
|
21
|
+
# @return [Node::Array<Server>]
|
|
24
22
|
def servers
|
|
25
23
|
node_data["servers"]
|
|
26
24
|
end
|
|
@@ -35,12 +33,12 @@ module Openapi3Parser
|
|
|
35
33
|
node_data["components"]
|
|
36
34
|
end
|
|
37
35
|
|
|
38
|
-
# @return [
|
|
36
|
+
# @return [Node::Array<SecurityRequirement>]
|
|
39
37
|
def security
|
|
40
38
|
node_data["security"]
|
|
41
39
|
end
|
|
42
40
|
|
|
43
|
-
# @return [
|
|
41
|
+
# @return [Node::Array<Tag>]
|
|
44
42
|
def tags
|
|
45
43
|
node_data["tags"]
|
|
46
44
|
end
|
|
@@ -3,12 +3,10 @@
|
|
|
3
3
|
require "openapi3_parser/node/object"
|
|
4
4
|
|
|
5
5
|
module Openapi3Parser
|
|
6
|
-
module
|
|
6
|
+
module Node
|
|
7
7
|
# @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#operationObject
|
|
8
|
-
class Operation
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
# @return [Nodes::Array<String>]
|
|
8
|
+
class Operation < Node::Object
|
|
9
|
+
# @return [Node::Array<String>]
|
|
12
10
|
def tags
|
|
13
11
|
node_data["tags"]
|
|
14
12
|
end
|
|
@@ -23,6 +21,11 @@ module Openapi3Parser
|
|
|
23
21
|
node_data["description"]
|
|
24
22
|
end
|
|
25
23
|
|
|
24
|
+
# @return [String, nil]
|
|
25
|
+
def description_html
|
|
26
|
+
render_markdown(description)
|
|
27
|
+
end
|
|
28
|
+
|
|
26
29
|
# @return [ExternalDocumentation, nil]
|
|
27
30
|
def external_docs
|
|
28
31
|
node_data["externalDocs"]
|
|
@@ -33,7 +36,7 @@ module Openapi3Parser
|
|
|
33
36
|
node_data["operationId"]
|
|
34
37
|
end
|
|
35
38
|
|
|
36
|
-
# @return [
|
|
39
|
+
# @return [Node::Array<Parameter>]
|
|
37
40
|
def parameters
|
|
38
41
|
node_data["parameters"]
|
|
39
42
|
end
|
|
@@ -58,12 +61,12 @@ module Openapi3Parser
|
|
|
58
61
|
node_data["deprecated"]
|
|
59
62
|
end
|
|
60
63
|
|
|
61
|
-
# @return [
|
|
64
|
+
# @return [Node::Array<SecurityRequirement>]
|
|
62
65
|
def security
|
|
63
66
|
node_data["security"]
|
|
64
67
|
end
|
|
65
68
|
|
|
66
|
-
# @return [
|
|
69
|
+
# @return [Node::Array<Server>]
|
|
67
70
|
def servers
|
|
68
71
|
node_data["servers"]
|
|
69
72
|
end
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require "openapi3_parser/node/object"
|
|
4
|
-
require "openapi3_parser/
|
|
4
|
+
require "openapi3_parser/node/parameter_like"
|
|
5
5
|
|
|
6
6
|
module Openapi3Parser
|
|
7
|
-
module
|
|
7
|
+
module Node
|
|
8
8
|
# @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#parameterObject
|
|
9
|
-
class Parameter
|
|
10
|
-
include Node::Object
|
|
9
|
+
class Parameter < Node::Object
|
|
11
10
|
include ParameterLike
|
|
12
11
|
|
|
13
12
|
# @return [String]
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Openapi3Parser
|
|
4
|
+
module Node
|
|
5
|
+
# This contains methods that are shared between nodes that act like a
|
|
6
|
+
# Parameter, at the time of writing this was {Header}[../Header.html]
|
|
7
|
+
# and {Parameter}[../Paramater.html]
|
|
8
|
+
module ParameterLike
|
|
9
|
+
# @return [String]
|
|
10
|
+
def description
|
|
11
|
+
node_data["description"]
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# @return [String, nil]
|
|
15
|
+
def description_html
|
|
16
|
+
render_markdown(description)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# @return [Boolean]
|
|
20
|
+
def required?
|
|
21
|
+
node_data["required"]
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# @return [Boolean]
|
|
25
|
+
def deprecated?
|
|
26
|
+
node_data["deprecated"]
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# @return [Boolean]
|
|
30
|
+
def allow_empty_value?
|
|
31
|
+
node_data["allowEmptyValue"]
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# @return [String, nil]
|
|
35
|
+
def style
|
|
36
|
+
node_data["style"]
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# @return [Boolean]
|
|
40
|
+
def explode?
|
|
41
|
+
node_data["explode"]
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# @return [Boolean]
|
|
45
|
+
def allow_reserved?
|
|
46
|
+
node_data["allowReserved"]
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# @return [Schema, nil]
|
|
50
|
+
def schema
|
|
51
|
+
node_data["schema"]
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# @return [Any]
|
|
55
|
+
def example
|
|
56
|
+
node_data["example"]
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# @return [Map<String, Example>, nil]
|
|
60
|
+
def examples
|
|
61
|
+
node_data["examples"]
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# @return [Map<String, MediaType>, nil]
|
|
65
|
+
def content
|
|
66
|
+
node_data["content"]
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
@@ -3,11 +3,9 @@
|
|
|
3
3
|
require "openapi3_parser/node/object"
|
|
4
4
|
|
|
5
5
|
module Openapi3Parser
|
|
6
|
-
module
|
|
6
|
+
module Node
|
|
7
7
|
# @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#pathItemObject
|
|
8
|
-
class PathItem
|
|
9
|
-
include Node::Object
|
|
10
|
-
|
|
8
|
+
class PathItem < Node::Object
|
|
11
9
|
# @return [String, nil]
|
|
12
10
|
def summary
|
|
13
11
|
node_data["summary"]
|
|
@@ -18,6 +16,11 @@ module Openapi3Parser
|
|
|
18
16
|
node_data["description"]
|
|
19
17
|
end
|
|
20
18
|
|
|
19
|
+
# @return [String, nil]
|
|
20
|
+
def description_html
|
|
21
|
+
render_markdown(description)
|
|
22
|
+
end
|
|
23
|
+
|
|
21
24
|
# @return [Operation, nil]
|
|
22
25
|
def get
|
|
23
26
|
node_data["get"]
|
|
@@ -58,12 +61,12 @@ module Openapi3Parser
|
|
|
58
61
|
node_data["trace"]
|
|
59
62
|
end
|
|
60
63
|
|
|
61
|
-
# @return [
|
|
64
|
+
# @return [Node::Array<Server>]
|
|
62
65
|
def servers
|
|
63
66
|
node_data["servers"]
|
|
64
67
|
end
|
|
65
68
|
|
|
66
|
-
# @return [
|
|
69
|
+
# @return [Node::Array<Parameter>]
|
|
67
70
|
def parameters
|
|
68
71
|
node_data["parameters"]
|
|
69
72
|
end
|
|
@@ -3,10 +3,8 @@
|
|
|
3
3
|
require "openapi3_parser/node/map"
|
|
4
4
|
|
|
5
5
|
module Openapi3Parser
|
|
6
|
-
module
|
|
6
|
+
module Node
|
|
7
7
|
# @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#pathsObject
|
|
8
|
-
class Paths
|
|
9
|
-
include Node::Map
|
|
10
|
-
end
|
|
8
|
+
class Paths < Node::Map; end
|
|
11
9
|
end
|
|
12
10
|
end
|
|
@@ -3,16 +3,19 @@
|
|
|
3
3
|
require "openapi3_parser/node/object"
|
|
4
4
|
|
|
5
5
|
module Openapi3Parser
|
|
6
|
-
module
|
|
6
|
+
module Node
|
|
7
7
|
# @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#requestBodyObject
|
|
8
|
-
class RequestBody
|
|
9
|
-
include Node::Object
|
|
10
|
-
|
|
8
|
+
class RequestBody < Node::Object
|
|
11
9
|
# @return [String, nil]
|
|
12
10
|
def description
|
|
13
11
|
node_data["description"]
|
|
14
12
|
end
|
|
15
13
|
|
|
14
|
+
# @return [String, nil]
|
|
15
|
+
def description_html
|
|
16
|
+
render_markdown(description)
|
|
17
|
+
end
|
|
18
|
+
|
|
16
19
|
# @return [Map<String, MediaType>]
|
|
17
20
|
def content
|
|
18
21
|
node_data["content"]
|
|
@@ -3,16 +3,19 @@
|
|
|
3
3
|
require "openapi3_parser/node/object"
|
|
4
4
|
|
|
5
5
|
module Openapi3Parser
|
|
6
|
-
module
|
|
6
|
+
module Node
|
|
7
7
|
# @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#responseObject
|
|
8
|
-
class Response
|
|
9
|
-
include Node::Object
|
|
10
|
-
|
|
8
|
+
class Response < Node::Object
|
|
11
9
|
# @return [String]
|
|
12
10
|
def description
|
|
13
11
|
node_data["description"]
|
|
14
12
|
end
|
|
15
13
|
|
|
14
|
+
# @return [String]
|
|
15
|
+
def description_html
|
|
16
|
+
render_markdown(description)
|
|
17
|
+
end
|
|
18
|
+
|
|
16
19
|
# @return [Map<String, Header>]
|
|
17
20
|
def headers
|
|
18
21
|
node_data["headers"]
|
|
@@ -3,11 +3,9 @@
|
|
|
3
3
|
require "openapi3_parser/node/map"
|
|
4
4
|
|
|
5
5
|
module Openapi3Parser
|
|
6
|
-
module
|
|
6
|
+
module Node
|
|
7
7
|
# @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#responsesObject
|
|
8
|
-
class Responses
|
|
9
|
-
include Node::Map
|
|
10
|
-
|
|
8
|
+
class Responses < Node::Map
|
|
11
9
|
# @return [Response]
|
|
12
10
|
def default
|
|
13
11
|
node_data["default"]
|
|
@@ -3,12 +3,10 @@
|
|
|
3
3
|
require "openapi3_parser/node/object"
|
|
4
4
|
|
|
5
5
|
module Openapi3Parser
|
|
6
|
-
module
|
|
6
|
+
module Node
|
|
7
7
|
# @see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#schemaObject
|
|
8
8
|
# rubocop:disable ClassLength
|
|
9
|
-
class Schema
|
|
10
|
-
include Node::Object
|
|
11
|
-
|
|
9
|
+
class Schema < Node::Object
|
|
12
10
|
# @return [String, nil]
|
|
13
11
|
def title
|
|
14
12
|
node_data["title"]
|
|
@@ -79,12 +77,12 @@ module Openapi3Parser
|
|
|
79
77
|
node_data["minProperties"]
|
|
80
78
|
end
|
|
81
79
|
|
|
82
|
-
# @return [
|
|
80
|
+
# @return [Node::Array<String>, nil]
|
|
83
81
|
def required
|
|
84
82
|
node_data["required"]
|
|
85
83
|
end
|
|
86
84
|
|
|
87
|
-
# @return [
|
|
85
|
+
# @return [Node::Array<Object>, nil]
|
|
88
86
|
def enum
|
|
89
87
|
node_data["enum"]
|
|
90
88
|
end
|
|
@@ -94,17 +92,17 @@ module Openapi3Parser
|
|
|
94
92
|
node_data["type"]
|
|
95
93
|
end
|
|
96
94
|
|
|
97
|
-
# @return [
|
|
95
|
+
# @return [Node::Array<Schema>, nil]
|
|
98
96
|
def all_of
|
|
99
97
|
node_data["allOf"]
|
|
100
98
|
end
|
|
101
99
|
|
|
102
|
-
# @return [
|
|
100
|
+
# @return [Node::Array<Schema>, nil]
|
|
103
101
|
def one_of
|
|
104
102
|
node_data["oneOf"]
|
|
105
103
|
end
|
|
106
104
|
|
|
107
|
-
# @return [
|
|
105
|
+
# @return [Node::Array<Schema>, nil]
|
|
108
106
|
def any_of
|
|
109
107
|
node_data["anyOf"]
|
|
110
108
|
end
|
|
@@ -141,6 +139,11 @@ module Openapi3Parser
|
|
|
141
139
|
node_data["description"]
|
|
142
140
|
end
|
|
143
141
|
|
|
142
|
+
# @return [String, nil]
|
|
143
|
+
def description_html
|
|
144
|
+
render_markdown(description)
|
|
145
|
+
end
|
|
146
|
+
|
|
144
147
|
# @return [String, nil]
|
|
145
148
|
def format
|
|
146
149
|
node_data["format"]
|