nexmo-oas-renderer 2.3.0 → 2.7.0
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 +4 -4
- data/.github/workflows/ci.yml +28 -0
- data/Dockerfile +1 -1
- data/Gemfile.lock +80 -82
- data/README.md +4 -0
- data/lib/nexmo/oas/renderer/helpers/render.rb +1 -1
- data/lib/nexmo/oas/renderer/presenters/content_switcher.rb +3 -1
- data/lib/nexmo/oas/renderer/presenters/response_tab/panel.rb +4 -0
- data/lib/nexmo/oas/renderer/presenters/response_tabs.rb +34 -1
- data/lib/nexmo/oas/renderer/public/assets/stylesheets/nexmo-oas-renderer.css +1 -0
- data/lib/nexmo/oas/renderer/version.rb +1 -1
- data/lib/nexmo/oas/renderer/views/open_api/_header.erb +1 -1
- data/lib/nexmo/oas/renderer/views/open_api/_parameters.erb +9 -1
- data/lib/nexmo/oas/renderer/views/open_api/_response_description_parameters.erb +2 -1
- data/lib/nexmo/oas/renderer/views/open_api/_response_tabs.erb +6 -6
- data/lib/nexmo/oas/renderer/views/open_api/content_switcher/_dropdown.erb +3 -1
- data/nexmo-oas-renderer.gemspec +3 -4
- metadata +14 -29
- data/.travis.yml +0 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2e3a8412ed7fbf70d60de3cef41098629b599d68226df626900ec70c05149dd9
|
|
4
|
+
data.tar.gz: 537315fd455c4c7b5798f0208f405a80b91031eb0ad8ae94c9a64b047e713799
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5d9743a3e5226025550036f1715606fcd97c441a61853063a52b8dde038046b921178cfe465ff1e94beb0598eec140751936db42302eec825a56d0c7fd96cc1d
|
|
7
|
+
data.tar.gz: 6a98fa09f0f9fdc104ae1fe4b327f6ac177f31ade52b310151d0e69a0655f829c38480f8a00c1a8b2cb152c3813e4433abf84638f9938b45c576c04b65420399
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
|
|
2
|
+
name: CI
|
|
3
|
+
|
|
4
|
+
on:
|
|
5
|
+
push:
|
|
6
|
+
branches: [ master ]
|
|
7
|
+
pull_request:
|
|
8
|
+
branches: [ master ]
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
test:
|
|
12
|
+
strategy:
|
|
13
|
+
matrix:
|
|
14
|
+
os: [ubuntu-latest, macos-latest]
|
|
15
|
+
ruby: [2.5, 2.6, 2.7]
|
|
16
|
+
runs-on: ${{ matrix.os }}
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v2
|
|
19
|
+
- name: Set up Ruby
|
|
20
|
+
uses: ruby/setup-ruby@v1
|
|
21
|
+
with:
|
|
22
|
+
ruby-version: ${{ matrix.ruby }}
|
|
23
|
+
- name: Install dependencies
|
|
24
|
+
run: bundle install
|
|
25
|
+
- name: Run tests
|
|
26
|
+
run: bundle exec rspec
|
|
27
|
+
- name: Run rubocop
|
|
28
|
+
run: bundle exec rubocop
|
data/Dockerfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
nexmo-oas-renderer (2.
|
|
4
|
+
nexmo-oas-renderer (2.7.0)
|
|
5
5
|
activemodel (~> 6.0)
|
|
6
6
|
activesupport (~> 6.0)
|
|
7
7
|
banzai (~> 0.1.2)
|
|
8
8
|
dotenv (~> 2.7)
|
|
9
9
|
neatjson (~> 0.8)
|
|
10
|
-
nexmo_markdown_renderer (~> 0.
|
|
11
|
-
oas_parser (~> 0.25.
|
|
12
|
-
|
|
13
|
-
redcarpet (= 3.4.0)
|
|
10
|
+
nexmo_markdown_renderer (~> 0.8)
|
|
11
|
+
oas_parser (~> 0.25.3)
|
|
12
|
+
redcarpet (= 3.5.1)
|
|
14
13
|
sass (~> 3.1)
|
|
15
14
|
shotgun (~> 0.9)
|
|
16
15
|
sinatra (~> 2.0)
|
|
@@ -18,56 +17,56 @@ PATH
|
|
|
18
17
|
GEM
|
|
19
18
|
remote: https://rubygems.org/
|
|
20
19
|
specs:
|
|
21
|
-
actioncable (6.0.3.
|
|
22
|
-
actionpack (= 6.0.3.
|
|
20
|
+
actioncable (6.0.3.5)
|
|
21
|
+
actionpack (= 6.0.3.5)
|
|
23
22
|
nio4r (~> 2.0)
|
|
24
23
|
websocket-driver (>= 0.6.1)
|
|
25
|
-
actionmailbox (6.0.3.
|
|
26
|
-
actionpack (= 6.0.3.
|
|
27
|
-
activejob (= 6.0.3.
|
|
28
|
-
activerecord (= 6.0.3.
|
|
29
|
-
activestorage (= 6.0.3.
|
|
30
|
-
activesupport (= 6.0.3.
|
|
24
|
+
actionmailbox (6.0.3.5)
|
|
25
|
+
actionpack (= 6.0.3.5)
|
|
26
|
+
activejob (= 6.0.3.5)
|
|
27
|
+
activerecord (= 6.0.3.5)
|
|
28
|
+
activestorage (= 6.0.3.5)
|
|
29
|
+
activesupport (= 6.0.3.5)
|
|
31
30
|
mail (>= 2.7.1)
|
|
32
|
-
actionmailer (6.0.3.
|
|
33
|
-
actionpack (= 6.0.3.
|
|
34
|
-
actionview (= 6.0.3.
|
|
35
|
-
activejob (= 6.0.3.
|
|
31
|
+
actionmailer (6.0.3.5)
|
|
32
|
+
actionpack (= 6.0.3.5)
|
|
33
|
+
actionview (= 6.0.3.5)
|
|
34
|
+
activejob (= 6.0.3.5)
|
|
36
35
|
mail (~> 2.5, >= 2.5.4)
|
|
37
36
|
rails-dom-testing (~> 2.0)
|
|
38
|
-
actionpack (6.0.3.
|
|
39
|
-
actionview (= 6.0.3.
|
|
40
|
-
activesupport (= 6.0.3.
|
|
37
|
+
actionpack (6.0.3.5)
|
|
38
|
+
actionview (= 6.0.3.5)
|
|
39
|
+
activesupport (= 6.0.3.5)
|
|
41
40
|
rack (~> 2.0, >= 2.0.8)
|
|
42
41
|
rack-test (>= 0.6.3)
|
|
43
42
|
rails-dom-testing (~> 2.0)
|
|
44
43
|
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
|
45
|
-
actiontext (6.0.3.
|
|
46
|
-
actionpack (= 6.0.3.
|
|
47
|
-
activerecord (= 6.0.3.
|
|
48
|
-
activestorage (= 6.0.3.
|
|
49
|
-
activesupport (= 6.0.3.
|
|
44
|
+
actiontext (6.0.3.5)
|
|
45
|
+
actionpack (= 6.0.3.5)
|
|
46
|
+
activerecord (= 6.0.3.5)
|
|
47
|
+
activestorage (= 6.0.3.5)
|
|
48
|
+
activesupport (= 6.0.3.5)
|
|
50
49
|
nokogiri (>= 1.8.5)
|
|
51
|
-
actionview (6.0.3.
|
|
52
|
-
activesupport (= 6.0.3.
|
|
50
|
+
actionview (6.0.3.5)
|
|
51
|
+
activesupport (= 6.0.3.5)
|
|
53
52
|
builder (~> 3.1)
|
|
54
53
|
erubi (~> 1.4)
|
|
55
54
|
rails-dom-testing (~> 2.0)
|
|
56
55
|
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
|
57
|
-
activejob (6.0.3.
|
|
58
|
-
activesupport (= 6.0.3.
|
|
56
|
+
activejob (6.0.3.5)
|
|
57
|
+
activesupport (= 6.0.3.5)
|
|
59
58
|
globalid (>= 0.3.6)
|
|
60
|
-
activemodel (6.0.3.
|
|
61
|
-
activesupport (= 6.0.3.
|
|
62
|
-
activerecord (6.0.3.
|
|
63
|
-
activemodel (= 6.0.3.
|
|
64
|
-
activesupport (= 6.0.3.
|
|
65
|
-
activestorage (6.0.3.
|
|
66
|
-
actionpack (= 6.0.3.
|
|
67
|
-
activejob (= 6.0.3.
|
|
68
|
-
activerecord (= 6.0.3.
|
|
59
|
+
activemodel (6.0.3.5)
|
|
60
|
+
activesupport (= 6.0.3.5)
|
|
61
|
+
activerecord (6.0.3.5)
|
|
62
|
+
activemodel (= 6.0.3.5)
|
|
63
|
+
activesupport (= 6.0.3.5)
|
|
64
|
+
activestorage (6.0.3.5)
|
|
65
|
+
actionpack (= 6.0.3.5)
|
|
66
|
+
activejob (= 6.0.3.5)
|
|
67
|
+
activerecord (= 6.0.3.5)
|
|
69
68
|
marcel (~> 0.3.1)
|
|
70
|
-
activesupport (6.0.3.
|
|
69
|
+
activesupport (6.0.3.5)
|
|
71
70
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
72
71
|
i18n (>= 0.7, < 2)
|
|
73
72
|
minitest (~> 5.1)
|
|
@@ -78,20 +77,20 @@ GEM
|
|
|
78
77
|
ast (2.4.1)
|
|
79
78
|
banzai (0.1.3)
|
|
80
79
|
builder (3.2.4)
|
|
81
|
-
concurrent-ruby (1.1.
|
|
80
|
+
concurrent-ruby (1.1.8)
|
|
82
81
|
crass (1.0.6)
|
|
83
82
|
deep_merge (1.2.1)
|
|
84
83
|
diff-lcs (1.4.2)
|
|
85
84
|
dotenv (2.7.6)
|
|
86
|
-
erubi (1.
|
|
87
|
-
ffi (1.
|
|
85
|
+
erubi (1.10.0)
|
|
86
|
+
ffi (1.15.0)
|
|
88
87
|
globalid (0.4.2)
|
|
89
88
|
activesupport (>= 4.2.0)
|
|
90
89
|
hansi (0.2.0)
|
|
91
90
|
hash-deep-merge (0.1.1)
|
|
92
|
-
i18n (1.8.
|
|
91
|
+
i18n (1.8.9)
|
|
93
92
|
concurrent-ruby (~> 1.0)
|
|
94
|
-
loofah (2.
|
|
93
|
+
loofah (2.9.0)
|
|
95
94
|
crass (~> 1.0.2)
|
|
96
95
|
nokogiri (>= 1.5.9)
|
|
97
96
|
mail (2.7.1)
|
|
@@ -99,28 +98,31 @@ GEM
|
|
|
99
98
|
marcel (0.3.3)
|
|
100
99
|
mimemagic (~> 0.3.2)
|
|
101
100
|
method_source (1.0.0)
|
|
102
|
-
mimemagic (0.3.
|
|
101
|
+
mimemagic (0.3.10)
|
|
102
|
+
nokogiri (~> 1)
|
|
103
|
+
rake
|
|
103
104
|
mini_mime (1.0.2)
|
|
104
|
-
mini_portile2 (2.
|
|
105
|
-
minitest (5.14.
|
|
105
|
+
mini_portile2 (2.5.0)
|
|
106
|
+
minitest (5.14.4)
|
|
106
107
|
mustermann (1.1.1)
|
|
107
108
|
ruby2_keywords (~> 0.0.1)
|
|
108
109
|
mustermann-contrib (1.1.1)
|
|
109
110
|
hansi (~> 0.2.0)
|
|
110
111
|
mustermann (= 1.1.1)
|
|
111
112
|
neatjson (0.9)
|
|
112
|
-
nexmo_markdown_renderer (0.
|
|
113
|
+
nexmo_markdown_renderer (0.9.1)
|
|
114
|
+
actionview (~> 6.0)
|
|
113
115
|
activemodel (~> 6.0)
|
|
114
116
|
banzai (~> 0.1.2)
|
|
115
117
|
i18n (~> 1.7)
|
|
116
118
|
nokogiri (~> 1.10)
|
|
117
|
-
octicons_helper (~> 8.2)
|
|
118
119
|
redcarpet (~> 3.4)
|
|
119
120
|
rouge (~> 2.0.7)
|
|
120
|
-
nio4r (2.5.
|
|
121
|
-
nokogiri (1.
|
|
122
|
-
mini_portile2 (~> 2.
|
|
123
|
-
|
|
121
|
+
nio4r (2.5.7)
|
|
122
|
+
nokogiri (1.11.1)
|
|
123
|
+
mini_portile2 (~> 2.5.0)
|
|
124
|
+
racc (~> 1.4)
|
|
125
|
+
oas_parser (0.25.3)
|
|
124
126
|
activesupport (>= 4.0.0)
|
|
125
127
|
addressable (~> 2.3)
|
|
126
128
|
builder (~> 3.2.3)
|
|
@@ -128,52 +130,48 @@ GEM
|
|
|
128
130
|
hash-deep-merge
|
|
129
131
|
mustermann-contrib (~> 1.1.1)
|
|
130
132
|
nokogiri
|
|
131
|
-
octicons (8.5.0)
|
|
132
|
-
nokogiri (>= 1.6.3.1)
|
|
133
|
-
octicons_helper (8.5.0)
|
|
134
|
-
octicons (= 8.5.0)
|
|
135
|
-
rails
|
|
136
133
|
parallel (1.19.2)
|
|
137
134
|
parser (2.7.1.4)
|
|
138
135
|
ast (~> 2.4.1)
|
|
139
136
|
public_suffix (4.0.6)
|
|
137
|
+
racc (1.5.2)
|
|
140
138
|
rack (2.2.3)
|
|
141
139
|
rack-protection (2.1.0)
|
|
142
140
|
rack
|
|
143
141
|
rack-test (1.1.0)
|
|
144
142
|
rack (>= 1.0, < 3)
|
|
145
|
-
rails (6.0.3.
|
|
146
|
-
actioncable (= 6.0.3.
|
|
147
|
-
actionmailbox (= 6.0.3.
|
|
148
|
-
actionmailer (= 6.0.3.
|
|
149
|
-
actionpack (= 6.0.3.
|
|
150
|
-
actiontext (= 6.0.3.
|
|
151
|
-
actionview (= 6.0.3.
|
|
152
|
-
activejob (= 6.0.3.
|
|
153
|
-
activemodel (= 6.0.3.
|
|
154
|
-
activerecord (= 6.0.3.
|
|
155
|
-
activestorage (= 6.0.3.
|
|
156
|
-
activesupport (= 6.0.3.
|
|
143
|
+
rails (6.0.3.5)
|
|
144
|
+
actioncable (= 6.0.3.5)
|
|
145
|
+
actionmailbox (= 6.0.3.5)
|
|
146
|
+
actionmailer (= 6.0.3.5)
|
|
147
|
+
actionpack (= 6.0.3.5)
|
|
148
|
+
actiontext (= 6.0.3.5)
|
|
149
|
+
actionview (= 6.0.3.5)
|
|
150
|
+
activejob (= 6.0.3.5)
|
|
151
|
+
activemodel (= 6.0.3.5)
|
|
152
|
+
activerecord (= 6.0.3.5)
|
|
153
|
+
activestorage (= 6.0.3.5)
|
|
154
|
+
activesupport (= 6.0.3.5)
|
|
157
155
|
bundler (>= 1.3.0)
|
|
158
|
-
railties (= 6.0.3.
|
|
156
|
+
railties (= 6.0.3.5)
|
|
159
157
|
sprockets-rails (>= 2.0.0)
|
|
160
158
|
rails-dom-testing (2.0.3)
|
|
161
159
|
activesupport (>= 4.2.0)
|
|
162
160
|
nokogiri (>= 1.6)
|
|
163
161
|
rails-html-sanitizer (1.3.0)
|
|
164
162
|
loofah (~> 2.3)
|
|
165
|
-
railties (6.0.3.
|
|
166
|
-
actionpack (= 6.0.3.
|
|
167
|
-
activesupport (= 6.0.3.
|
|
163
|
+
railties (6.0.3.5)
|
|
164
|
+
actionpack (= 6.0.3.5)
|
|
165
|
+
activesupport (= 6.0.3.5)
|
|
168
166
|
method_source
|
|
169
167
|
rake (>= 0.8.7)
|
|
170
168
|
thor (>= 0.20.3, < 2.0)
|
|
171
169
|
rainbow (3.0.0)
|
|
172
|
-
rake (13.0.
|
|
170
|
+
rake (13.0.3)
|
|
173
171
|
rb-fsevent (0.10.4)
|
|
174
172
|
rb-inotify (0.10.1)
|
|
175
173
|
ffi (~> 1.0)
|
|
176
|
-
redcarpet (3.
|
|
174
|
+
redcarpet (3.5.1)
|
|
177
175
|
regexp_parser (1.7.1)
|
|
178
176
|
rexml (3.2.4)
|
|
179
177
|
rouge (2.0.7)
|
|
@@ -202,7 +200,7 @@ GEM
|
|
|
202
200
|
rubocop-ast (0.1.0)
|
|
203
201
|
parser (>= 2.7.0.1)
|
|
204
202
|
ruby-progressbar (1.10.1)
|
|
205
|
-
ruby2_keywords (0.0.
|
|
203
|
+
ruby2_keywords (0.0.4)
|
|
206
204
|
sass (3.7.4)
|
|
207
205
|
sass-listen (~> 4.0.0)
|
|
208
206
|
sass-listen (4.0.0)
|
|
@@ -218,20 +216,20 @@ GEM
|
|
|
218
216
|
sprockets (4.0.2)
|
|
219
217
|
concurrent-ruby (~> 1.0)
|
|
220
218
|
rack (> 1, < 3)
|
|
221
|
-
sprockets-rails (3.2.
|
|
219
|
+
sprockets-rails (3.2.2)
|
|
222
220
|
actionpack (>= 4.0)
|
|
223
221
|
activesupport (>= 4.0)
|
|
224
222
|
sprockets (>= 3.0.0)
|
|
225
|
-
thor (1.0
|
|
223
|
+
thor (1.1.0)
|
|
226
224
|
thread_safe (0.3.6)
|
|
227
225
|
tilt (2.0.10)
|
|
228
|
-
tzinfo (1.2.
|
|
226
|
+
tzinfo (1.2.9)
|
|
229
227
|
thread_safe (~> 0.1)
|
|
230
228
|
unicode-display_width (1.7.0)
|
|
231
|
-
websocket-driver (0.7.
|
|
229
|
+
websocket-driver (0.7.3)
|
|
232
230
|
websocket-extensions (>= 0.1.0)
|
|
233
231
|
websocket-extensions (0.1.5)
|
|
234
|
-
zeitwerk (2.
|
|
232
|
+
zeitwerk (2.4.2)
|
|
235
233
|
|
|
236
234
|
PLATFORMS
|
|
237
235
|
ruby
|
data/README.md
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
# Nexmo OAS Renderer
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+
[](./LICENSE.txt)
|
|
5
|
+
|
|
2
6
|
Sinatra application that provides a preview of how the OAS documents will be rendered within [Nexmo Developer](https://developer.nexmo.com/).
|
|
3
7
|
|
|
4
8
|
* [Dependencies](#requirements)
|
|
@@ -5,7 +5,9 @@ module Nexmo
|
|
|
5
5
|
module Renderer
|
|
6
6
|
module Presenters
|
|
7
7
|
class ContentSwitcher
|
|
8
|
-
|
|
8
|
+
attr_reader :panels
|
|
9
|
+
|
|
10
|
+
def initialize(format:, label: nil, theme_light:, force_type: nil)
|
|
9
11
|
@format = format
|
|
10
12
|
@panels = []
|
|
11
13
|
@label = label
|
|
@@ -32,17 +32,50 @@ module Nexmo
|
|
|
32
32
|
def tab_panels
|
|
33
33
|
@tab_panels ||= @response.split_schemas(@format).map.with_index do |schema, index|
|
|
34
34
|
schema = handle_all_of(schema)
|
|
35
|
+
examples = examples_for_schema(schema)
|
|
35
36
|
ResponseTab::Panel.new(
|
|
36
37
|
schema: schema,
|
|
37
38
|
index: index,
|
|
38
39
|
format: @format,
|
|
39
|
-
content: @content,
|
|
40
|
+
content: examples || @content,
|
|
40
41
|
endpoint: @endpoint,
|
|
41
42
|
theme_light: @theme_light
|
|
42
43
|
)
|
|
43
44
|
end
|
|
44
45
|
end
|
|
45
46
|
|
|
47
|
+
def examples_for_schema(schema)
|
|
48
|
+
# If there are any examples, show them
|
|
49
|
+
examples = @response.raw.dig('content', @format, 'examples')
|
|
50
|
+
return nil unless @content == :responses && @format == 'application/json' && examples
|
|
51
|
+
|
|
52
|
+
example_switcher = Nexmo::OAS::Renderer::Presenters::ContentSwitcher.new(format: format, force_type: 'dropdown', theme_light: @theme_light)
|
|
53
|
+
|
|
54
|
+
has_visible_panel = false
|
|
55
|
+
examples.each_with_index do |v, _k|
|
|
56
|
+
# Only if the example key is listed in x-examples in the schema
|
|
57
|
+
next unless schema['x-examples']&.include?(v[0])
|
|
58
|
+
|
|
59
|
+
response = JSON.neat_generate(v[1], {
|
|
60
|
+
wrap: true,
|
|
61
|
+
after_colon: 1,
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
content = <<~HEREDOC
|
|
65
|
+
<pre class="pre-wrap language-json #{@theme_light ? 'Vlt-prism--dark' : ''} Vlt-prism--copy-disabled"><code>#{response}</code></pre>
|
|
66
|
+
HEREDOC
|
|
67
|
+
|
|
68
|
+
example_switcher.add_content(
|
|
69
|
+
title: v[0].titleize,
|
|
70
|
+
content: content,
|
|
71
|
+
tab_id: v[0],
|
|
72
|
+
active: !has_visible_panel
|
|
73
|
+
)
|
|
74
|
+
has_visible_panel = true
|
|
75
|
+
end
|
|
76
|
+
return example_switcher if example_switcher.panels.size.positive?
|
|
77
|
+
end
|
|
78
|
+
|
|
46
79
|
def handle_all_of(schema)
|
|
47
80
|
if schema['allOf']
|
|
48
81
|
schema['allOf'].each do |p|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<div class="Vlt-grid">
|
|
2
2
|
<div class="Vlt-col oas-left-panel header-row" style="padding-top:20px;">
|
|
3
|
-
<a href="<%= @theme_link %>" class="Vlt-switch Vlt-switch--secondary" style="float:right;">
|
|
3
|
+
<a href="<%= @theme_link %>" class="Vlt-switch Vlt-switch--secondary" style="float:right;" title="colour theme switcher">
|
|
4
4
|
<span class="Vlt-switch__slider"></span>
|
|
5
5
|
</a>
|
|
6
6
|
|
|
@@ -58,13 +58,21 @@
|
|
|
58
58
|
<% if parameter.required %>
|
|
59
59
|
<span class="constraint">Required</span>
|
|
60
60
|
<% end %>
|
|
61
|
-
|
|
62
61
|
<% if parameter.minimum || parameter.raw['minLength'] %>
|
|
63
62
|
| <span class="constraint">Min:</span> <%= parameter.minimum || parameter.raw['minLength'] %>
|
|
64
63
|
<% end %>
|
|
65
64
|
<% if parameter.maximum || parameter.raw['maxLength'] %>
|
|
66
65
|
| <span class="constraint">Max:</span> <%= parameter.maximum || parameter.raw['maxLength'] %>
|
|
67
66
|
<% end %>
|
|
67
|
+
<% if parameter.default || parameter.raw['default'] %>
|
|
68
|
+
| <span class="constraint">Default:</span> <%= parameter.default || parameter.raw['default'] %>
|
|
69
|
+
<% end %>
|
|
70
|
+
<% if parameter.raw['deprecated'] %>
|
|
71
|
+
| <span class="constraint">DEPRECATED</span> <span>: This field has been deprecated. </span>
|
|
72
|
+
<% end %>
|
|
73
|
+
<% if parameter.raw['x-replace-with']%>
|
|
74
|
+
<span> <%= 'Please use ' + '<code>'+ parameter.raw['x-replace-with'] + '</code>' + ' instead.' %> </span>
|
|
75
|
+
<% end %>
|
|
68
76
|
</div>
|
|
69
77
|
|
|
70
78
|
<%= (parameter.description || parameter.schema['description'] || '').render_markdown %>
|
|
@@ -34,7 +34,8 @@
|
|
|
34
34
|
|
|
35
35
|
<div class="oas-parameter-description">
|
|
36
36
|
<div class="oas-parameter-meta">
|
|
37
|
-
|
|
37
|
+
<% if parameter['nullable'] %>Nullable <% end %><%= parameter['type'] %>
|
|
38
|
+
|
|
38
39
|
<% if parameter['type'] == 'array' %>
|
|
39
40
|
<% if parameter['items'] && parameter['items']['type'] %>
|
|
40
41
|
of <%= (parameter['items']['type']) %>s
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
switcher = Nexmo::OAS::Renderer::Presenters::ContentSwitcher.new(label: "Response Example", format: format, force_type: tabs.switcher, theme_light: @theme_light)
|
|
5
5
|
|
|
6
6
|
tabs.tab_links.each_with_index do |v,k|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
switcher.add_content(
|
|
8
|
+
title: v.content,
|
|
9
|
+
content: (erb *tabs.tab_panels[k].content),
|
|
10
|
+
tab_id: v.data_tab_link,
|
|
11
|
+
active: k == 0
|
|
12
|
+
)
|
|
13
13
|
end
|
|
14
14
|
%>
|
|
15
15
|
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
<div class="Vlt-dropdown Vlt-dropdown--full-width">
|
|
2
|
-
<div class="Vlt-dropdown__trigger Vlt-dropdown__trigger--btn"><button class="Vlt-btn Vlt-btn--<%= (theme_light ? "secondary" : "tertiary") %>"
|
|
2
|
+
<div class="Vlt-dropdown__trigger Vlt-dropdown__trigger--btn"><button class="Vlt-btn Vlt-btn--<%= (theme_light ? "secondary" : "tertiary") %>">
|
|
3
|
+
<%= label ? "#{label}: " : ""%><span class="Vlt-dropdown__selection"><%= panels[0]['title'] %></span>
|
|
4
|
+
</button></div>
|
|
3
5
|
<div class="Vlt-dropdown__panel">
|
|
4
6
|
<div data-tab-content="<%= switcher.id %>" class="Vlt-dropdown__panel__content">
|
|
5
7
|
<% panels.each do |panel| %>
|
data/nexmo-oas-renderer.gemspec
CHANGED
|
@@ -36,10 +36,9 @@ Gem::Specification.new do |spec|
|
|
|
36
36
|
spec.add_runtime_dependency 'banzai', '~> 0.1.2'
|
|
37
37
|
spec.add_runtime_dependency 'dotenv', '~> 2.7'
|
|
38
38
|
spec.add_runtime_dependency 'neatjson', '~> 0.8'
|
|
39
|
-
spec.add_runtime_dependency 'nexmo_markdown_renderer', '~> 0.
|
|
40
|
-
spec.add_runtime_dependency 'oas_parser', '~> 0.25.
|
|
41
|
-
spec.add_runtime_dependency '
|
|
42
|
-
spec.add_runtime_dependency 'redcarpet', '3.4.0'
|
|
39
|
+
spec.add_runtime_dependency 'nexmo_markdown_renderer', '~> 0.8'
|
|
40
|
+
spec.add_runtime_dependency 'oas_parser', '~> 0.25.3'
|
|
41
|
+
spec.add_runtime_dependency 'redcarpet', '3.5.1'
|
|
43
42
|
spec.add_runtime_dependency 'sass', '~> 3.1'
|
|
44
43
|
spec.add_runtime_dependency 'shotgun', '~> 0.9'
|
|
45
44
|
spec.add_runtime_dependency 'sinatra', '~> 2.0'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: nexmo-oas-renderer
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.7.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Fabian Rodriguez
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-04-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activemodel
|
|
@@ -86,56 +86,42 @@ dependencies:
|
|
|
86
86
|
requirements:
|
|
87
87
|
- - "~>"
|
|
88
88
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: '0.
|
|
89
|
+
version: '0.8'
|
|
90
90
|
type: :runtime
|
|
91
91
|
prerelease: false
|
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
93
|
requirements:
|
|
94
94
|
- - "~>"
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: '0.
|
|
96
|
+
version: '0.8'
|
|
97
97
|
- !ruby/object:Gem::Dependency
|
|
98
98
|
name: oas_parser
|
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
|
100
100
|
requirements:
|
|
101
101
|
- - "~>"
|
|
102
102
|
- !ruby/object:Gem::Version
|
|
103
|
-
version: 0.25.
|
|
104
|
-
type: :runtime
|
|
105
|
-
prerelease: false
|
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
-
requirements:
|
|
108
|
-
- - "~>"
|
|
109
|
-
- !ruby/object:Gem::Version
|
|
110
|
-
version: 0.25.1
|
|
111
|
-
- !ruby/object:Gem::Dependency
|
|
112
|
-
name: octicons_helper
|
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
|
114
|
-
requirements:
|
|
115
|
-
- - "~>"
|
|
116
|
-
- !ruby/object:Gem::Version
|
|
117
|
-
version: '8.2'
|
|
103
|
+
version: 0.25.3
|
|
118
104
|
type: :runtime
|
|
119
105
|
prerelease: false
|
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
107
|
requirements:
|
|
122
108
|
- - "~>"
|
|
123
109
|
- !ruby/object:Gem::Version
|
|
124
|
-
version:
|
|
110
|
+
version: 0.25.3
|
|
125
111
|
- !ruby/object:Gem::Dependency
|
|
126
112
|
name: redcarpet
|
|
127
113
|
requirement: !ruby/object:Gem::Requirement
|
|
128
114
|
requirements:
|
|
129
115
|
- - '='
|
|
130
116
|
- !ruby/object:Gem::Version
|
|
131
|
-
version: 3.
|
|
117
|
+
version: 3.5.1
|
|
132
118
|
type: :runtime
|
|
133
119
|
prerelease: false
|
|
134
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
135
121
|
requirements:
|
|
136
122
|
- - '='
|
|
137
123
|
- !ruby/object:Gem::Version
|
|
138
|
-
version: 3.
|
|
124
|
+
version: 3.5.1
|
|
139
125
|
- !ruby/object:Gem::Dependency
|
|
140
126
|
name: sass
|
|
141
127
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -234,7 +220,7 @@ dependencies:
|
|
|
234
220
|
- - "~>"
|
|
235
221
|
- !ruby/object:Gem::Version
|
|
236
222
|
version: '0.86'
|
|
237
|
-
description:
|
|
223
|
+
description:
|
|
238
224
|
email:
|
|
239
225
|
- fabian.rodriguez@vonage.com
|
|
240
226
|
executables:
|
|
@@ -243,12 +229,12 @@ extensions: []
|
|
|
243
229
|
extra_rdoc_files: []
|
|
244
230
|
files:
|
|
245
231
|
- ".env.example"
|
|
232
|
+
- ".github/workflows/ci.yml"
|
|
246
233
|
- ".github/workflows/pull_request-review.yml"
|
|
247
234
|
- ".github/workflows/push-docker-publish.yml"
|
|
248
235
|
- ".gitignore"
|
|
249
236
|
- ".rspec"
|
|
250
237
|
- ".rubocop.yml"
|
|
251
|
-
- ".travis.yml"
|
|
252
238
|
- CHANGELOG.md
|
|
253
239
|
- CONTRIBUTING.md
|
|
254
240
|
- Dockerfile
|
|
@@ -382,7 +368,7 @@ licenses:
|
|
|
382
368
|
metadata:
|
|
383
369
|
homepage_uri: https://github.com/Nexmo/nexmo-oas-renderer
|
|
384
370
|
source_code_uri: https://github.com/Nexmo/nexmo-oas-renderer
|
|
385
|
-
post_install_message:
|
|
371
|
+
post_install_message:
|
|
386
372
|
rdoc_options: []
|
|
387
373
|
require_paths:
|
|
388
374
|
- lib
|
|
@@ -397,9 +383,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
397
383
|
- !ruby/object:Gem::Version
|
|
398
384
|
version: '0'
|
|
399
385
|
requirements: []
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
signing_key:
|
|
386
|
+
rubygems_version: 3.1.4
|
|
387
|
+
signing_key:
|
|
403
388
|
specification_version: 4
|
|
404
389
|
summary: OpenAPI Specification renderer.
|
|
405
390
|
test_files: []
|