swagger_model 0.4.4 → 0.4.5

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: a9d2659d722be43ee0dd4a63e116700ed96f2494
4
- data.tar.gz: 1234256b9a2f189910338006bb641ed05168f97e
3
+ metadata.gz: 3cb3ff5a74100d4be68752e3362d7d87555279c2
4
+ data.tar.gz: ea1d7ff34e9e3d1bc6235e82191ed4124b05a1ab
5
5
  SHA512:
6
- metadata.gz: 83ef1ecfc9ac467d24eaed265facf8f518ae2f7da66fe51f4491f5e8130366aa5c4d8bcf362ba6334518e1476b1da8e630dd1160c66d1f5f8ce3a6f5237cbdfe
7
- data.tar.gz: d31ad0ae4ad00bde40448d2ff9c9aa3d34edbac1d0058783adf832718da8593f9eae5aafbca28764be755c59173f4d82821906e3c9e64570ab119d3938b0e22c
6
+ metadata.gz: c9990cff7967bfa7ce66928b4e56e8bd763c76475650c6e659b6d45d8a9e3fa56e8a4e69e6491d175aa89a34a495e28a8309536b7a77351ea63162036e3b9dbf
7
+ data.tar.gz: f3754297208ebf2396b0b0ec23e7bb4590111ed2f6a0a06c1f2fd668a037ecf077d4f6b7e89bd3efd7af13701a34ccf379e9cb500a25811c8b66f63ae6940934
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- swagger_model (0.4.4)
4
+ swagger_model (0.4.5)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -0,0 +1,21 @@
1
+ require_relative 'relationships'
2
+
3
+ module SwaggerModel
4
+ module SwaggerV2
5
+ class ErrorModel
6
+ def to_swagger_hash
7
+ {
8
+ 'type' => 'object',
9
+ 'properties' => {
10
+ 'status' => {
11
+ 'type' => 'string'
12
+ },
13
+ 'meta' => {
14
+ '$ref' => '#/definitions/ErrorModelMeta'
15
+ }
16
+ }
17
+ }
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,27 @@
1
+ require_relative 'relationships'
2
+
3
+ module SwaggerModel
4
+ module SwaggerV2
5
+ class ErrorModelMeta
6
+ def to_swagger_hash
7
+ {
8
+ 'type' => 'object',
9
+ 'properties' => {
10
+ 'code' => {
11
+ 'type' => 'string'
12
+ },
13
+ 'message' => {
14
+ 'type' => 'string'
15
+ },
16
+ 'messages' => {
17
+ 'type' => 'array',
18
+ 'items' => {
19
+ 'type' => 'string'
20
+ }
21
+ }
22
+ }
23
+ }
24
+ end
25
+ end
26
+ end
27
+ end
@@ -1,3 +1,3 @@
1
1
  module SwaggerModel
2
- VERSION = "0.4.4"
2
+ VERSION = "0.4.5"
3
3
  end
data/lib/swagger_model.rb CHANGED
@@ -12,6 +12,8 @@ require_relative 'swagger_model/relationships'
12
12
  require_relative 'swagger_model/model'
13
13
  require_relative 'swagger_model/included'
14
14
  require_relative 'swagger_model/attributes'
15
+ require_relative 'swagger_model/error_model'
16
+ require_relative 'swagger_model/error_model_meta'
15
17
 
16
18
  module SwaggerModel
17
19
  module OpenAPIv3
@@ -369,6 +371,23 @@ module SwaggerModel
369
371
  response_model[response_name]['properties']['meta'] = meta
370
372
  end
371
373
 
374
+ # Create Error
375
+ if response.has_key?('errors')
376
+ response_model[response_name] = {
377
+ 'type' => 'object',
378
+ 'properties' => {
379
+ 'errors' => {
380
+ 'type' => 'array',
381
+ 'items' => {
382
+ '$ref' => '#/definitions/ErrorModel'
383
+ }
384
+ }
385
+ }
386
+ }
387
+ response_model['ErrorModel'] = ErrorModel.new().to_swagger_hash
388
+ response_model['ErrorModelMeta'] = ErrorModelMeta.new().to_swagger_hash
389
+ end
390
+
372
391
  # Set required
373
392
  response_model[response_name]['required'] = response_model[response_name]['properties'].keys
374
393
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: swagger_model
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.4
4
+ version: 0.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - marumemomo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-07-26 00:00:00.000000000 Z
11
+ date: 2018-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -84,6 +84,8 @@ files:
84
84
  - example/Example.json
85
85
  - lib/swagger_model.rb
86
86
  - lib/swagger_model/attributes.rb
87
+ - lib/swagger_model/error_model.rb
88
+ - lib/swagger_model/error_model_meta.rb
87
89
  - lib/swagger_model/included.rb
88
90
  - lib/swagger_model/links.rb
89
91
  - lib/swagger_model/model.rb