zero-rails_openapi 1.5.9 → 1.6.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 +20 -2
- data/Gemfile.lock +1 -1
- data/lib/oas_objs/ref_obj.rb +1 -1
- data/lib/oas_objs/schema_obj.rb +12 -1
- data/lib/open_api/dsl.rb +3 -3
- data/lib/open_api/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f02e4f2dff6974c8ea59e4e410e695f27d7395a417612003525ed6fa250c008a
|
4
|
+
data.tar.gz: 23e2eb595a89c71e3f417b295d107de43d9cf5e3af917329715d69fe42846a0f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de28674280308d143a856a82cdc7fee995b1a506ac4b0342ff9721d3656637f87444c4ff69f4967e8a839e36598797e1559f41a02145c24bce8c823916bc1318
|
7
|
+
data.tar.gz: ccea172bdb47b90b97f423ac0d6a744e996de455c6fc1a82cf3ba22a12126978e0ff13278d8737ddc4f699065980fb755c2776bf6f98e695598ac74cba357619
|
data/CHANGELOG.md
CHANGED
@@ -2,15 +2,33 @@
|
|
2
2
|
|
3
3
|
## [Unreleased]
|
4
4
|
|
5
|
+
## [1.6.0] - 2018/6/26 - [view diff](https://github.com/zhandao/zero-rails_openapi/compare/v1.5.9...v1.6.0)
|
6
|
+
|
7
|
+
## Changed
|
8
|
+
|
9
|
+
1. issue [#21](https://github.com/zhandao/zero-rails_openapi/issues/21) support additionalProperties. Thanks @barnaclebarnes
|
10
|
+
2. issue [#23](https://github.com/zhandao/zero-rails_openapi/issues/23) Uniqueness of operationId. Thanks @barnaclebarnes
|
11
|
+
|
12
|
+
## Fixed
|
13
|
+
|
14
|
+
1. issue [#22](https://github.com/zhandao/zero-rails_openapi/issues/22) missing `/` in reference. Thanks @barnaclebarnes
|
15
|
+
|
16
|
+
## [1.5.8 & 1.5.9] - 2018/6/19 - [view diff](https://github.com/zhandao/zero-rails_openapi/compare/v1.5.7...v1.5.9)
|
17
|
+
|
18
|
+
## Changed
|
19
|
+
|
20
|
+
1. issue [#17](https://github.com/zhandao/zero-rails_openapi/issues/17) singular example in schema. Thanks @williamdias
|
21
|
+
1. issue [#18](https://github.com/zhandao/zero-rails_openapi/issues/18) define multiple components blocks in one class. Thanks @Amnesthesia
|
22
|
+
|
5
23
|
## [1.5.7] - 2018/4/6 - [view diff](https://github.com/zhandao/zero-rails_openapi/compare/v1.5.6...v1.5.7)
|
6
24
|
|
7
25
|
## Changed
|
8
26
|
|
9
|
-
1. issue [#16](https://github.com/zhandao/zero-rails_openapi/issues/16) DSL in `base_doc_class` can not be generated.
|
27
|
+
1. issue [#16](https://github.com/zhandao/zero-rails_openapi/issues/16) DSL in `base_doc_class` can not be generated. Thanks @jonathantribouharet
|
10
28
|
|
11
29
|
## Fixed
|
12
30
|
|
13
|
-
1. issue [#15](https://github.com/zhandao/zero-rails_openapi/issues/15) colorize was not required.
|
31
|
+
1. issue [#15](https://github.com/zhandao/zero-rails_openapi/issues/15) colorize was not required. Thanks @jonathantribouharet
|
14
32
|
2. securitySchemes defined by config DSL was not be generated.
|
15
33
|
|
16
34
|
## [1.5.6] - 2018/3/23 - [view diff](https://github.com/zhandao/zero-rails_openapi/compare/v1.5.5...v1.5.6)
|
data/Gemfile.lock
CHANGED
data/lib/oas_objs/ref_obj.rb
CHANGED
data/lib/oas_objs/schema_obj.rb
CHANGED
@@ -22,7 +22,7 @@ module OpenApi
|
|
22
22
|
|
23
23
|
def process(options = { inside_desc: false })
|
24
24
|
processed.merge!(processed_type)
|
25
|
-
reducx(enum_and_length, range, format, pattern_default_and_other, desc(options)).then_merge!
|
25
|
+
reducx(additional_properties, enum_and_length, range, format, pattern_default_and_other, desc(options)).then_merge!
|
26
26
|
end
|
27
27
|
|
28
28
|
def desc(inside_desc:)
|
@@ -47,11 +47,21 @@ module OpenApi
|
|
47
47
|
{ type: 'string', format: Config.file_format }
|
48
48
|
elsif t == 'datetime'
|
49
49
|
{ type: 'string', format: 'date-time' }
|
50
|
+
elsif t.match?(/\{=>.*\}/)
|
51
|
+
self[:values_type] = t[3..-2]
|
52
|
+
{ type: 'object' }
|
50
53
|
else # other string
|
51
54
|
{ type: t }
|
52
55
|
end
|
53
56
|
end
|
54
57
|
|
58
|
+
def additional_properties
|
59
|
+
return { } if processed[:type] != 'object' || _addProp.nil?
|
60
|
+
{
|
61
|
+
additionalProperties: SchemaObj.new(_addProp, { }).process(inside_desc: true)
|
62
|
+
}
|
63
|
+
end
|
64
|
+
|
55
65
|
def enum_and_length
|
56
66
|
process_enum_info
|
57
67
|
process_range_enum_and_lth
|
@@ -112,6 +122,7 @@ module OpenApi
|
|
112
122
|
__desc: %i[ desc! description! d! ],
|
113
123
|
_exp: %i[ example ],
|
114
124
|
_exps: %i[ examples ],
|
125
|
+
_addProp: %i[ additional_properties add_prop values_type ],
|
115
126
|
_is: %i[ is_a is ], # NOT OAS Spec, see documentation/parameter.md
|
116
127
|
_as: %i[ as to for map mapping ], # NOT OAS Spec, it's for zero-params_processor
|
117
128
|
_permit: %i[ permit pmt ], # ditto
|
data/lib/open_api/dsl.rb
CHANGED
@@ -34,7 +34,7 @@ module OpenApi
|
|
34
34
|
(@doc_info[:components] ||= { }).deep_merge!(current_doc)
|
35
35
|
end
|
36
36
|
|
37
|
-
def api action, summary = '', http: http_method = nil, skip: [ ], use: [ ], &block
|
37
|
+
def api action, summary = '', id: nil, http: http_method = nil, skip: [ ], use: [ ], &block
|
38
38
|
doc_tag if @doc_info.nil?
|
39
39
|
# select the routing info (corresponding to the current method) from routing list.
|
40
40
|
action_path = "#{@route_base ||= controller_path}##{action}"
|
@@ -42,8 +42,8 @@ module OpenApi
|
|
42
42
|
return puts ' ZRO'.red + " Route mapping failed: #{action_path}" if routes.blank?
|
43
43
|
|
44
44
|
api = Api.new(action_path, skip: Array(skip), use: Array(use))
|
45
|
-
.merge! description: '', summary: summary, operationId:
|
46
|
-
parameters: [ ], requestBody: '', responses: { }, callbacks: { },
|
45
|
+
.merge! description: '', summary: summary, operationId: id || "#{@doc_info[:tag][:name]}_#{action}",
|
46
|
+
tags: [@doc_tag], parameters: [ ], requestBody: '', responses: { }, callbacks: { },
|
47
47
|
links: { }, security: [ ], servers: [ ]
|
48
48
|
[action, :all].each { |blk_key| @zro_dry_blocks&.[](blk_key)&.each { |blk| api.instance_eval(&blk) } }
|
49
49
|
api.param_use = api.param_skip = [ ] # `skip` and `use` only affect `api_dry`'s blocks
|
data/lib/open_api/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zero-rails_openapi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- zhandao
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-06-
|
11
|
+
date: 2018-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|