openapi3_parser 0.1.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.
Files changed (96) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +1 -0
  3. data/.rspec +1 -0
  4. data/.rubocop.yml +9 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +4 -0
  7. data/Gemfile +5 -0
  8. data/LICENCE +19 -0
  9. data/README.md +32 -0
  10. data/Rakefile +10 -0
  11. data/TODO.md +30 -0
  12. data/lib/openapi3_parser.rb +39 -0
  13. data/lib/openapi3_parser/context.rb +54 -0
  14. data/lib/openapi3_parser/document.rb +48 -0
  15. data/lib/openapi3_parser/error.rb +5 -0
  16. data/lib/openapi3_parser/fields/map.rb +83 -0
  17. data/lib/openapi3_parser/node.rb +115 -0
  18. data/lib/openapi3_parser/node/map.rb +24 -0
  19. data/lib/openapi3_parser/node/object.rb +28 -0
  20. data/lib/openapi3_parser/node_factories/array.rb +105 -0
  21. data/lib/openapi3_parser/node_factories/callback.rb +26 -0
  22. data/lib/openapi3_parser/node_factories/components.rb +83 -0
  23. data/lib/openapi3_parser/node_factories/contact.rb +24 -0
  24. data/lib/openapi3_parser/node_factories/discriminator.rb +31 -0
  25. data/lib/openapi3_parser/node_factories/encoding.rb +34 -0
  26. data/lib/openapi3_parser/node_factories/example.rb +25 -0
  27. data/lib/openapi3_parser/node_factories/external_documentation.rb +23 -0
  28. data/lib/openapi3_parser/node_factories/header.rb +36 -0
  29. data/lib/openapi3_parser/node_factories/info.rb +28 -0
  30. data/lib/openapi3_parser/node_factories/license.rb +22 -0
  31. data/lib/openapi3_parser/node_factories/link.rb +40 -0
  32. data/lib/openapi3_parser/node_factories/map.rb +110 -0
  33. data/lib/openapi3_parser/node_factories/media_type.rb +44 -0
  34. data/lib/openapi3_parser/node_factories/oauth_flow.rb +24 -0
  35. data/lib/openapi3_parser/node_factories/oauth_flows.rb +31 -0
  36. data/lib/openapi3_parser/node_factories/openapi.rb +50 -0
  37. data/lib/openapi3_parser/node_factories/operation.rb +76 -0
  38. data/lib/openapi3_parser/node_factories/parameter.rb +43 -0
  39. data/lib/openapi3_parser/node_factories/parameter/parameter_like.rb +37 -0
  40. data/lib/openapi3_parser/node_factories/path_item.rb +75 -0
  41. data/lib/openapi3_parser/node_factories/paths.rb +32 -0
  42. data/lib/openapi3_parser/node_factories/reference.rb +33 -0
  43. data/lib/openapi3_parser/node_factories/request_body.rb +31 -0
  44. data/lib/openapi3_parser/node_factories/response.rb +45 -0
  45. data/lib/openapi3_parser/node_factories/responses.rb +32 -0
  46. data/lib/openapi3_parser/node_factories/schema.rb +106 -0
  47. data/lib/openapi3_parser/node_factories/security_requirement.rb +25 -0
  48. data/lib/openapi3_parser/node_factories/security_scheme.rb +35 -0
  49. data/lib/openapi3_parser/node_factories/server.rb +32 -0
  50. data/lib/openapi3_parser/node_factories/server_variable.rb +28 -0
  51. data/lib/openapi3_parser/node_factories/tag.rb +24 -0
  52. data/lib/openapi3_parser/node_factories/xml.rb +25 -0
  53. data/lib/openapi3_parser/node_factory.rb +126 -0
  54. data/lib/openapi3_parser/node_factory/field_config.rb +88 -0
  55. data/lib/openapi3_parser/node_factory/map.rb +39 -0
  56. data/lib/openapi3_parser/node_factory/object.rb +80 -0
  57. data/lib/openapi3_parser/node_factory/object/node_builder.rb +85 -0
  58. data/lib/openapi3_parser/node_factory/object/validator.rb +102 -0
  59. data/lib/openapi3_parser/node_factory/optional_reference.rb +23 -0
  60. data/lib/openapi3_parser/nodes/array.rb +26 -0
  61. data/lib/openapi3_parser/nodes/callback.rb +11 -0
  62. data/lib/openapi3_parser/nodes/components.rb +47 -0
  63. data/lib/openapi3_parser/nodes/contact.rb +23 -0
  64. data/lib/openapi3_parser/nodes/discriminator.rb +19 -0
  65. data/lib/openapi3_parser/nodes/encoding.rb +31 -0
  66. data/lib/openapi3_parser/nodes/example.rb +27 -0
  67. data/lib/openapi3_parser/nodes/external_documentation.rb +19 -0
  68. data/lib/openapi3_parser/nodes/header.rb +13 -0
  69. data/lib/openapi3_parser/nodes/info.rb +35 -0
  70. data/lib/openapi3_parser/nodes/license.rb +19 -0
  71. data/lib/openapi3_parser/nodes/link.rb +35 -0
  72. data/lib/openapi3_parser/nodes/map.rb +11 -0
  73. data/lib/openapi3_parser/nodes/media_type.rb +27 -0
  74. data/lib/openapi3_parser/nodes/oauth_flow.rb +27 -0
  75. data/lib/openapi3_parser/nodes/oauth_flows.rb +27 -0
  76. data/lib/openapi3_parser/nodes/openapi.rb +44 -0
  77. data/lib/openapi3_parser/nodes/operation.rb +59 -0
  78. data/lib/openapi3_parser/nodes/parameter.rb +21 -0
  79. data/lib/openapi3_parser/nodes/parameter/parameter_like.rb +53 -0
  80. data/lib/openapi3_parser/nodes/path_item.rb +59 -0
  81. data/lib/openapi3_parser/nodes/paths.rb +11 -0
  82. data/lib/openapi3_parser/nodes/request_body.rb +23 -0
  83. data/lib/openapi3_parser/nodes/response.rb +27 -0
  84. data/lib/openapi3_parser/nodes/responses.rb +15 -0
  85. data/lib/openapi3_parser/nodes/schema.rb +159 -0
  86. data/lib/openapi3_parser/nodes/security_requirement.rb +11 -0
  87. data/lib/openapi3_parser/nodes/security_scheme.rb +44 -0
  88. data/lib/openapi3_parser/nodes/server.rb +25 -0
  89. data/lib/openapi3_parser/nodes/server_variable.rb +23 -0
  90. data/lib/openapi3_parser/nodes/tag.rb +23 -0
  91. data/lib/openapi3_parser/nodes/xml.rb +31 -0
  92. data/lib/openapi3_parser/validation/error.rb +14 -0
  93. data/lib/openapi3_parser/validation/error_collection.rb +36 -0
  94. data/lib/openapi3_parser/version.rb +5 -0
  95. data/openapi3_parser.gemspec +28 -0
  96. metadata +208 -0
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "openapi3_parser/node/map"
4
+
5
+ module Openapi3Parser
6
+ module Nodes
7
+ class Responses
8
+ include Node::Map
9
+
10
+ def default
11
+ node_data["default"]
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,159 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "openapi3_parser/node/object"
4
+
5
+ module Openapi3Parser
6
+ module Nodes
7
+ # rubocop:disable ClassLength
8
+ class Schema
9
+ include Node::Object
10
+
11
+ def title
12
+ node_data["title"]
13
+ end
14
+
15
+ def multiple_of
16
+ node_data["multipleOf"]
17
+ end
18
+
19
+ def maximum
20
+ node_data["maximum"]
21
+ end
22
+
23
+ def exclusive_maximum?
24
+ node_data["exclusiveMaximum"]
25
+ end
26
+
27
+ def minimum
28
+ node_data["minimum"]
29
+ end
30
+
31
+ def exclusive_minimum?
32
+ node_data["exclusiveMinimum"]
33
+ end
34
+
35
+ def max_length
36
+ node_data["maxLength"]
37
+ end
38
+
39
+ def min_length
40
+ node_data["minLength"]
41
+ end
42
+
43
+ def pattern
44
+ node_data["pattern"]
45
+ end
46
+
47
+ def max_items
48
+ node_data["maxItems"]
49
+ end
50
+
51
+ def min_items
52
+ node_data["minItems"]
53
+ end
54
+
55
+ def unique_items?
56
+ node_data["uniqueItems"]
57
+ end
58
+
59
+ def max_properties
60
+ node_data["maxProperties"]
61
+ end
62
+
63
+ def min_properties
64
+ node_data["minProperties"]
65
+ end
66
+
67
+ def required
68
+ node_data["required"]
69
+ end
70
+
71
+ def enum
72
+ node_data["enum"]
73
+ end
74
+
75
+ def type
76
+ node_data["type"]
77
+ end
78
+
79
+ def all_of
80
+ node_data["allOf"]
81
+ end
82
+
83
+ def one_of
84
+ node_data["oneOf"]
85
+ end
86
+
87
+ def any_of
88
+ node_data["anyOf"]
89
+ end
90
+
91
+ def not
92
+ node_data["not"]
93
+ end
94
+
95
+ def items
96
+ node_data["items"]
97
+ end
98
+
99
+ def properties
100
+ node_data["properties"]
101
+ end
102
+
103
+ def additional_properties?
104
+ node_data["additionalProperties"] != false
105
+ end
106
+
107
+ def additional_properties_schema
108
+ properties = node_data["additionalProperties"]
109
+ return if [true, false].include?(properties)
110
+ properties
111
+ end
112
+
113
+ def description
114
+ node_data["description"]
115
+ end
116
+
117
+ def format
118
+ node_data["format"]
119
+ end
120
+
121
+ def default
122
+ node_data["default"]
123
+ end
124
+
125
+ def nullable?
126
+ node_data["nullable"]
127
+ end
128
+
129
+ def disciminator
130
+ node_data["discriminator"]
131
+ end
132
+
133
+ def read_only?
134
+ node_data["readOnly"]
135
+ end
136
+
137
+ def write_only?
138
+ node_data["writeOnly"]
139
+ end
140
+
141
+ def xml
142
+ node_data["xml"]
143
+ end
144
+
145
+ def external_docs
146
+ node_data["externalDocs"]
147
+ end
148
+
149
+ def example
150
+ node_data["example"]
151
+ end
152
+
153
+ def deprecated?
154
+ node_data["deprecated"]
155
+ end
156
+ end
157
+ # rubocop:enable ClassLength
158
+ end
159
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "openapi3_parser/node/map"
4
+
5
+ module Openapi3Parser
6
+ module Nodes
7
+ class SecurityRequirement
8
+ include Node::Map
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "openapi3_parser/node/object"
4
+ require "openapi3_parser/nodes/oauth_flows"
5
+
6
+ module Openapi3Parser
7
+ module Nodes
8
+ class SecurityScheme
9
+ include Node::Object
10
+
11
+ def type
12
+ node_data["type"]
13
+ end
14
+
15
+ def description
16
+ node_data["description"]
17
+ end
18
+
19
+ def name
20
+ node_data["name"]
21
+ end
22
+
23
+ def in
24
+ node_data["in"]
25
+ end
26
+
27
+ def scheme
28
+ node_data["scheme"]
29
+ end
30
+
31
+ def bearer_format
32
+ node_data["bearerFormat"]
33
+ end
34
+
35
+ def flows
36
+ node_data["flows"]
37
+ end
38
+
39
+ def open_id_connect_url
40
+ node_data["openIdConnectUrl"]
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "openapi3_parser/node/object"
4
+
5
+ module Openapi3Parser
6
+ module Nodes
7
+ class Server
8
+ include Node::Object
9
+
10
+ # @TODO there's scope for an interpolated_url method which can use the
11
+ # values from variables
12
+ def url
13
+ node_data["url"]
14
+ end
15
+
16
+ def description
17
+ node_data["description"]
18
+ end
19
+
20
+ def variables
21
+ node_data["variables"]
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "openapi3_parser/node/object"
4
+
5
+ module Openapi3Parser
6
+ module Nodes
7
+ class ServerVariable
8
+ include Node::Object
9
+
10
+ def enum
11
+ node_data["enum"]
12
+ end
13
+
14
+ def default
15
+ node_data["default"]
16
+ end
17
+
18
+ def description
19
+ node_data["description"]
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "openapi3_parser/node/object"
4
+
5
+ module Openapi3Parser
6
+ module Nodes
7
+ class Tag
8
+ include Node::Object
9
+
10
+ def name
11
+ node_data["name"]
12
+ end
13
+
14
+ def description
15
+ node_data["description"]
16
+ end
17
+
18
+ def external_docs
19
+ node_data["externalDocs"]
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "openapi3_parser/node/object"
4
+
5
+ module Openapi3Parser
6
+ module Nodes
7
+ class Xml
8
+ include Node::Object
9
+
10
+ def name
11
+ node_data["name"]
12
+ end
13
+
14
+ def namespace
15
+ node_data["namespace"]
16
+ end
17
+
18
+ def prefix
19
+ node_data["prefix"]
20
+ end
21
+
22
+ def attribute
23
+ node_data["attribute"]
24
+ end
25
+
26
+ def wrapped
27
+ node_data["wrapped"]
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openapi3Parser
4
+ module Validation
5
+ class Error
6
+ attr_reader :namespace, :message
7
+
8
+ def initialize(namespace, message)
9
+ @namespace = namespace
10
+ @message = message
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openapi3Parser
4
+ module Validation
5
+ class ErrorCollection
6
+ def initialize(*errors)
7
+ reset
8
+ append(*errors)
9
+ end
10
+
11
+ def append(*errors)
12
+ errors.each { |e| @errors << e }
13
+ end
14
+
15
+ def reset
16
+ @errors = []
17
+ end
18
+
19
+ def merge(error_collection)
20
+ append(*error_collection.to_a)
21
+ end
22
+
23
+ def empty?
24
+ errors.empty?
25
+ end
26
+
27
+ def to_a
28
+ errors.dup
29
+ end
30
+
31
+ private
32
+
33
+ attr_reader :errors
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Openapi3Parser
4
+ VERSION = "0.1.0"
5
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path("../lib", __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require "openapi3_parser/version"
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = "openapi3_parser"
9
+ spec.version = Openapi3Parser::VERSION
10
+ spec.authors = ["Kevin Dew"]
11
+ spec.email = ["kevindew@me.com"]
12
+
13
+ spec.summary = "An OpenAPI V3 parser for Ruby"
14
+ spec.description = "An OpenAPI V3 parser for Ruby"
15
+ spec.homepage = "https://github.com/kevindew/openapi_parser"
16
+ spec.license = "MIT"
17
+
18
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
19
+ f.match(%r{^spec/})
20
+ end
21
+ spec.require_paths = ["lib"]
22
+
23
+ spec.add_development_dependency "bundler", "~> 1.15"
24
+ spec.add_development_dependency "byebug", "~> 9.1"
25
+ spec.add_development_dependency "rake", "~> 10.0"
26
+ spec.add_development_dependency "rspec", "~> 3.6"
27
+ spec.add_development_dependency "rubocop", "~> 0.51"
28
+ end
metadata ADDED
@@ -0,0 +1,208 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: openapi3_parser
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Kevin Dew
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-11-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.15'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.15'
27
+ - !ruby/object:Gem::Dependency
28
+ name: byebug
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '9.1'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '9.1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.6'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.6'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.51'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.51'
83
+ description: An OpenAPI V3 parser for Ruby
84
+ email:
85
+ - kevindew@me.com
86
+ executables: []
87
+ extensions: []
88
+ extra_rdoc_files: []
89
+ files:
90
+ - ".gitignore"
91
+ - ".rspec"
92
+ - ".rubocop.yml"
93
+ - ".ruby-version"
94
+ - ".travis.yml"
95
+ - Gemfile
96
+ - LICENCE
97
+ - README.md
98
+ - Rakefile
99
+ - TODO.md
100
+ - lib/openapi3_parser.rb
101
+ - lib/openapi3_parser/context.rb
102
+ - lib/openapi3_parser/document.rb
103
+ - lib/openapi3_parser/error.rb
104
+ - lib/openapi3_parser/fields/map.rb
105
+ - lib/openapi3_parser/node.rb
106
+ - lib/openapi3_parser/node/map.rb
107
+ - lib/openapi3_parser/node/object.rb
108
+ - lib/openapi3_parser/node_factories/array.rb
109
+ - lib/openapi3_parser/node_factories/callback.rb
110
+ - lib/openapi3_parser/node_factories/components.rb
111
+ - lib/openapi3_parser/node_factories/contact.rb
112
+ - lib/openapi3_parser/node_factories/discriminator.rb
113
+ - lib/openapi3_parser/node_factories/encoding.rb
114
+ - lib/openapi3_parser/node_factories/example.rb
115
+ - lib/openapi3_parser/node_factories/external_documentation.rb
116
+ - lib/openapi3_parser/node_factories/header.rb
117
+ - lib/openapi3_parser/node_factories/info.rb
118
+ - lib/openapi3_parser/node_factories/license.rb
119
+ - lib/openapi3_parser/node_factories/link.rb
120
+ - lib/openapi3_parser/node_factories/map.rb
121
+ - lib/openapi3_parser/node_factories/media_type.rb
122
+ - lib/openapi3_parser/node_factories/oauth_flow.rb
123
+ - lib/openapi3_parser/node_factories/oauth_flows.rb
124
+ - lib/openapi3_parser/node_factories/openapi.rb
125
+ - lib/openapi3_parser/node_factories/operation.rb
126
+ - lib/openapi3_parser/node_factories/parameter.rb
127
+ - lib/openapi3_parser/node_factories/parameter/parameter_like.rb
128
+ - lib/openapi3_parser/node_factories/path_item.rb
129
+ - lib/openapi3_parser/node_factories/paths.rb
130
+ - lib/openapi3_parser/node_factories/reference.rb
131
+ - lib/openapi3_parser/node_factories/request_body.rb
132
+ - lib/openapi3_parser/node_factories/response.rb
133
+ - lib/openapi3_parser/node_factories/responses.rb
134
+ - lib/openapi3_parser/node_factories/schema.rb
135
+ - lib/openapi3_parser/node_factories/security_requirement.rb
136
+ - lib/openapi3_parser/node_factories/security_scheme.rb
137
+ - lib/openapi3_parser/node_factories/server.rb
138
+ - lib/openapi3_parser/node_factories/server_variable.rb
139
+ - lib/openapi3_parser/node_factories/tag.rb
140
+ - lib/openapi3_parser/node_factories/xml.rb
141
+ - lib/openapi3_parser/node_factory.rb
142
+ - lib/openapi3_parser/node_factory/field_config.rb
143
+ - lib/openapi3_parser/node_factory/map.rb
144
+ - lib/openapi3_parser/node_factory/object.rb
145
+ - lib/openapi3_parser/node_factory/object/node_builder.rb
146
+ - lib/openapi3_parser/node_factory/object/validator.rb
147
+ - lib/openapi3_parser/node_factory/optional_reference.rb
148
+ - lib/openapi3_parser/nodes/array.rb
149
+ - lib/openapi3_parser/nodes/callback.rb
150
+ - lib/openapi3_parser/nodes/components.rb
151
+ - lib/openapi3_parser/nodes/contact.rb
152
+ - lib/openapi3_parser/nodes/discriminator.rb
153
+ - lib/openapi3_parser/nodes/encoding.rb
154
+ - lib/openapi3_parser/nodes/example.rb
155
+ - lib/openapi3_parser/nodes/external_documentation.rb
156
+ - lib/openapi3_parser/nodes/header.rb
157
+ - lib/openapi3_parser/nodes/info.rb
158
+ - lib/openapi3_parser/nodes/license.rb
159
+ - lib/openapi3_parser/nodes/link.rb
160
+ - lib/openapi3_parser/nodes/map.rb
161
+ - lib/openapi3_parser/nodes/media_type.rb
162
+ - lib/openapi3_parser/nodes/oauth_flow.rb
163
+ - lib/openapi3_parser/nodes/oauth_flows.rb
164
+ - lib/openapi3_parser/nodes/openapi.rb
165
+ - lib/openapi3_parser/nodes/operation.rb
166
+ - lib/openapi3_parser/nodes/parameter.rb
167
+ - lib/openapi3_parser/nodes/parameter/parameter_like.rb
168
+ - lib/openapi3_parser/nodes/path_item.rb
169
+ - lib/openapi3_parser/nodes/paths.rb
170
+ - lib/openapi3_parser/nodes/request_body.rb
171
+ - lib/openapi3_parser/nodes/response.rb
172
+ - lib/openapi3_parser/nodes/responses.rb
173
+ - lib/openapi3_parser/nodes/schema.rb
174
+ - lib/openapi3_parser/nodes/security_requirement.rb
175
+ - lib/openapi3_parser/nodes/security_scheme.rb
176
+ - lib/openapi3_parser/nodes/server.rb
177
+ - lib/openapi3_parser/nodes/server_variable.rb
178
+ - lib/openapi3_parser/nodes/tag.rb
179
+ - lib/openapi3_parser/nodes/xml.rb
180
+ - lib/openapi3_parser/validation/error.rb
181
+ - lib/openapi3_parser/validation/error_collection.rb
182
+ - lib/openapi3_parser/version.rb
183
+ - openapi3_parser.gemspec
184
+ homepage: https://github.com/kevindew/openapi_parser
185
+ licenses:
186
+ - MIT
187
+ metadata: {}
188
+ post_install_message:
189
+ rdoc_options: []
190
+ require_paths:
191
+ - lib
192
+ required_ruby_version: !ruby/object:Gem::Requirement
193
+ requirements:
194
+ - - ">="
195
+ - !ruby/object:Gem::Version
196
+ version: '0'
197
+ required_rubygems_version: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ requirements: []
203
+ rubyforge_project:
204
+ rubygems_version: 2.5.1
205
+ signing_key:
206
+ specification_version: 4
207
+ summary: An OpenAPI V3 parser for Ruby
208
+ test_files: []