swagger_model 0.3.1 → 0.3.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b3366ed15070ee58fd12d4aca2c4172bdc325d0b
4
- data.tar.gz: 25d1dc406ec0b86a98e5cbc8f0e73a874fe353d4
3
+ metadata.gz: 1bd477b4e6bf093b8f9817a428e645cddd5da250
4
+ data.tar.gz: d8b667c97f31ce09d02e6c83a79983dea2ed6748
5
5
  SHA512:
6
- metadata.gz: '03186a18bff8bf375d8ba4ace4dfe300fe2ef054f4b41d36bfc7c2b3d6a0745172ba54f01b8e7b7993c519965ee1ad396c7cea38dac11272316c086effa03e13'
7
- data.tar.gz: 1eb9c9ba093c3fe903ffdc9a4c057c897682e0297c925d1114265ea679e5f1f0f7e2a33f2eb634518a4d336c14ca3476007a6f0649e4d9c89e44b6342cb43e5c
6
+ metadata.gz: 0e1c974e579c0d24341af65ab05bc41e47008b48e38bfcacaef33918d2ab2eec54d4be32ef668de599357cf9591c9c51c4c68eced63b5db5996252597f9bc447
7
+ data.tar.gz: abf46c37dea75d4b5a3c900339c333e6979ede886db8b7f86dd94b66c5d31c880d0cddd1208845d4797a97425b8ff33e8422826c2d092792e495e1dc66aa478a
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- swagger_model (0.3.1)
4
+ swagger_model (0.3.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -1,3 +1,3 @@
1
1
  module SwaggerModel
2
- VERSION = "0.3.1"
2
+ VERSION = "0.3.2"
3
3
  end
data/lib/swagger_model.rb CHANGED
@@ -256,8 +256,17 @@ module SwaggerModel
256
256
  end
257
257
  when 'Array'
258
258
  if key == 'included'
259
- @logger.error("Cannot create model because of included `included` key")
260
- exit
259
+ obj['type'] = 'array'
260
+ obj['items'] = {}
261
+ array = parse_array_with_multi_model(value, model, root_key)
262
+ p array
263
+ if array.size < 2
264
+ obj['type'] = 'array'
265
+ obj['items'] = array[0]
266
+ else
267
+ @logger.error("Cannot create model because of 2 or more models included in Array")
268
+ exit
269
+ end
261
270
  else
262
271
  obj['type'] = 'array'
263
272
  obj['items'] = parse_array(value, model, root_key)
@@ -291,6 +300,19 @@ module SwaggerModel
291
300
  get_property(nil, value, model, root_key)
292
301
  end
293
302
 
303
+ def self.parse_array_with_multi_model(items, model, root_key)
304
+ types = []
305
+ refs = []
306
+ items.each do |value|
307
+ property = get_property(nil, value, model, root_key)
308
+ if !refs.include?(property['$ref'])
309
+ types.push(get_property(nil, value, model, root_key))
310
+ refs.push(property['$ref'])
311
+ end
312
+ end
313
+ types
314
+ end
315
+
294
316
  def self.parse_object(res, model, root_key)
295
317
  keys = res.keys
296
318
  m = {}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: swagger_model
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - marumemomo