oas_parser 0.10.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: af2cf77367859b251828b87876cb093cad24b544
4
- data.tar.gz: 8aa73bebcc87b9936f0609202f6905489ae48246
3
+ metadata.gz: 603bbd2df525a4d19c34e56682551c5a7e4e8461
4
+ data.tar.gz: b9f59dfd1eab36b7674525e146a92e04bc8d2b27
5
5
  SHA512:
6
- metadata.gz: 2e2a64eb1ea08fd0d307beac24d2554c49f334ff843650530cb686217559ad3a503bd738c6cf57ee5e2df10f7bf875930d84c95ff84b2e184210ff728b58e600
7
- data.tar.gz: ad197badfba749af748df81ced2d30b0d1d586d91c04cd2f4990fa5bbe8c8725e0a422589b56d91c3d4bfd6a0ed70f4b17830d044e54c7794c85feafb68c6113
6
+ metadata.gz: b51dd2fada44ae1d4f29e04f603341e209f8ee1b88987d8283456fe7c6bac7745b5a6dd03a98f9679532450dccb9c6b8bdab7577e134a51031fc95b0f72a6721
7
+ data.tar.gz: f94e183e9113c5ecf89b30b0c3d59d3db2a64cd8caf299aac0e2f1ac7048a355714f983670340620bbbc148d5b6c60c02311bcba39f47780a8d28304fcc65fc5
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- oas_parser (0.10.0)
4
+ oas_parser (0.11.0)
5
5
  activesupport (~> 5.1.2)
6
6
  addressable (~> 2.3)
7
7
  builder (~> 3.2.3)
@@ -67,5 +67,10 @@ module OasParser
67
67
  def xml_name
68
68
  raw['xml']['name']
69
69
  end
70
+
71
+ def subproperties_are_one_of_many?
72
+ return false unless array?
73
+ items['oneOf'].present?
74
+ end
70
75
  end
71
76
  end
@@ -20,9 +20,22 @@ module OasParser
20
20
  end
21
21
 
22
22
  def convert_property_schema_to_properties(schema)
23
- schema = schema['properties'] if schema['properties']
24
- schema.map do |name, definition|
25
- OasParser::Property.new(self, raw, name, definition)
23
+ if schema['oneOf']
24
+ schema['oneOf'].map do |subschema|
25
+ subschema['properties'] = convert_property_schema_to_properties(subschema)
26
+ subschema['subschema_property'] = true
27
+ subschema
28
+ end
29
+ elsif schema['subschema_property']
30
+ schema = schema['properties'] if schema['properties']
31
+ schema.map do |definition|
32
+ OasParser::Property.new(self, raw, definition.name, definition)
33
+ end
34
+ else
35
+ schema = schema['properties'] if schema['properties']
36
+ schema.map do |key, definition|
37
+ OasParser::Property.new(self, raw, key, definition)
38
+ end
26
39
  end
27
40
  end
28
41
  end
@@ -1,3 +1,3 @@
1
1
  module OasParser
2
- VERSION = '0.10.0'.freeze
2
+ VERSION = '0.11.0'.freeze
3
3
  end
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.10.0
4
+ version: 0.11.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: 2018-03-05 00:00:00.000000000 Z
11
+ date: 2018-03-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable