oas_parser 0.20.0 → 0.21.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +2 -2
- data/lib/oas_parser/request_body.rb +16 -2
- data/lib/oas_parser/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b87fccaab412d43a8da11115041d8fc3170e3f7410d8d4fe3da50223dae7abf1
|
4
|
+
data.tar.gz: 41c5f6103025494d905939df9018ffcfee48db0352928d851bc589fc6e06e9f3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b508516b6340d6a111a303e916907c68f798e2d0ea65fd193a109591d8753b9b595f6d24a8481c05e4296beb303649d2176280741612fb2be6524387689cb69e
|
7
|
+
data.tar.gz: e5c6793cf56a29142c6c9629fd1dc4430d63370363c42fdcd847b57ebc000a943544c8b720223294d27c54fef36544c98f91ae900351ab2bb76165468eca5aac
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
## 0.21.0
|
2
|
+
|
3
|
+
- oneOf values that contain allOf values at the top level of a request body are now handled correctly
|
4
|
+
|
1
5
|
## 0.20.0
|
2
6
|
|
3
7
|
- allOf values are now deep-merged in to a single hash before being processed as properties/oneOf. This means that allOf will never be present in your data (just like JSON pointers are auto-resolved)
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
oas_parser (0.
|
4
|
+
oas_parser (0.21.0)
|
5
5
|
activesupport (>= 4.0.0)
|
6
6
|
addressable (~> 2.3)
|
7
7
|
builder (~> 3.2.3)
|
@@ -100,7 +100,7 @@ GEM
|
|
100
100
|
thread_safe (0.3.6)
|
101
101
|
tzinfo (1.2.5)
|
102
102
|
thread_safe (~> 0.1)
|
103
|
-
zeitwerk (2.1.
|
103
|
+
zeitwerk (2.1.10)
|
104
104
|
|
105
105
|
PLATFORMS
|
106
106
|
ruby
|
@@ -11,17 +11,31 @@ module OasParser
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def properties_for_format(format)
|
14
|
-
schema(format)
|
15
|
-
|
14
|
+
s = schema(format)
|
15
|
+
s = handle_all_of(s)
|
16
|
+
s['properties'].map do |name, definition|
|
17
|
+
OasParser::Property.new(self, s, name, definition)
|
16
18
|
end
|
17
19
|
end
|
18
20
|
|
19
21
|
def split_properties_for_format(format)
|
20
22
|
split_schemas(format).map do |schema|
|
23
|
+
schema = handle_all_of(schema)
|
21
24
|
schema['properties'].map do |name, definition|
|
22
25
|
OasParser::Property.new(self, schema(format), name, definition)
|
23
26
|
end
|
24
27
|
end
|
25
28
|
end
|
29
|
+
|
30
|
+
def handle_all_of(schema)
|
31
|
+
if schema['allOf']
|
32
|
+
schema['properties'] = {}
|
33
|
+
schema['allOf'].each do |p|
|
34
|
+
schema['properties'].deep_merge!(p['properties'])
|
35
|
+
end
|
36
|
+
schema.delete('allOf')
|
37
|
+
end
|
38
|
+
schema
|
39
|
+
end
|
26
40
|
end
|
27
41
|
end
|
data/lib/oas_parser/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oas_parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.21.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Butler
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-09-
|
11
|
+
date: 2019-09-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -263,7 +263,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
263
263
|
- !ruby/object:Gem::Version
|
264
264
|
version: '0'
|
265
265
|
requirements: []
|
266
|
-
|
266
|
+
rubyforge_project:
|
267
|
+
rubygems_version: 2.7.6.2
|
267
268
|
signing_key:
|
268
269
|
specification_version: 4
|
269
270
|
summary: A parser for Open API specifications
|