jdoc 0.4.4 → 0.5.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 +2 -0
- data/Gemfile.lock +16 -7
- data/jdoc.gemspec +2 -2
- data/lib/jdoc/generator.rb +7 -10
- data/lib/jdoc/version.rb +1 -1
- data/lib/jdoc.rb +1 -1
- metadata +6 -11
- data/CHANGELOG.md +0 -123
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4ee1b1514622a40fee3e0d8813c610f9f9c0bd31c97367693b2523663028a6f9
|
|
4
|
+
data.tar.gz: cbea57957aa93be238805ed0e7d6558fbef0405e53cffee35f0140d8a31b7701
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 00b3b964522b6260e4e6da08fc9eebb409ccb9a52a5cac65f1a80b3f1da8ba2ae3cd4a65d64e58f0365bb035bdf494d07874bb342b94f59a439e13e70b44b255
|
|
7
|
+
data.tar.gz: 69408fbfdddb4e79f76e266aca7cb5992b12e684fb0258c62983040b2a598ec9397ae33a5b838953e5b15d3957664c416eaff24bf1307d11e026c0e3b44f3824
|
data/.github/workflows/ci.yml
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
jdoc (0.
|
|
4
|
+
jdoc (0.5.0)
|
|
5
5
|
activesupport
|
|
6
|
-
|
|
6
|
+
erubi
|
|
7
7
|
json_schema
|
|
8
8
|
rack
|
|
9
9
|
redcarpet
|
|
@@ -11,17 +11,21 @@ PATH
|
|
|
11
11
|
GEM
|
|
12
12
|
remote: https://rubygems.org/
|
|
13
13
|
specs:
|
|
14
|
-
activesupport (7.1.
|
|
14
|
+
activesupport (7.1.6)
|
|
15
15
|
base64
|
|
16
|
+
benchmark (>= 0.3)
|
|
16
17
|
bigdecimal
|
|
17
18
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
18
19
|
connection_pool (>= 2.2.5)
|
|
19
20
|
drb
|
|
20
21
|
i18n (>= 1.6, < 2)
|
|
22
|
+
logger (>= 1.4.2)
|
|
21
23
|
minitest (>= 5.1)
|
|
22
24
|
mutex_m
|
|
25
|
+
securerandom (>= 0.3)
|
|
23
26
|
tzinfo (~> 2.0)
|
|
24
27
|
base64 (0.2.0)
|
|
28
|
+
benchmark (0.5.0)
|
|
25
29
|
bigdecimal (3.1.5)
|
|
26
30
|
coderay (1.1.3)
|
|
27
31
|
concurrent-ruby (1.2.2)
|
|
@@ -29,18 +33,22 @@ GEM
|
|
|
29
33
|
diff-lcs (1.5.0)
|
|
30
34
|
drb (2.2.0)
|
|
31
35
|
ruby2_keywords
|
|
32
|
-
|
|
36
|
+
erubi (1.13.1)
|
|
33
37
|
i18n (1.14.1)
|
|
34
38
|
concurrent-ruby (~> 1.0)
|
|
35
39
|
json_schema (0.21.0)
|
|
40
|
+
logger (1.7.0)
|
|
36
41
|
method_source (1.0.0)
|
|
37
|
-
minitest (
|
|
42
|
+
minitest (6.0.5)
|
|
43
|
+
drb (~> 2.0)
|
|
44
|
+
prism (~> 1.5)
|
|
38
45
|
mutex_m (0.2.0)
|
|
46
|
+
prism (1.9.0)
|
|
39
47
|
pry (0.14.2)
|
|
40
48
|
coderay (~> 1.1)
|
|
41
49
|
method_source (~> 1.0)
|
|
42
50
|
rack (3.0.8)
|
|
43
|
-
rake (13.
|
|
51
|
+
rake (13.4.2)
|
|
44
52
|
redcarpet (3.6.0)
|
|
45
53
|
rspec (3.12.0)
|
|
46
54
|
rspec-core (~> 3.12.0)
|
|
@@ -56,6 +64,7 @@ GEM
|
|
|
56
64
|
rspec-support (~> 3.12.0)
|
|
57
65
|
rspec-support (3.12.1)
|
|
58
66
|
ruby2_keywords (0.0.5)
|
|
67
|
+
securerandom (0.4.1)
|
|
59
68
|
tzinfo (2.0.6)
|
|
60
69
|
concurrent-ruby (~> 1.0)
|
|
61
70
|
|
|
@@ -67,7 +76,7 @@ DEPENDENCIES
|
|
|
67
76
|
bundler (>= 1.6)
|
|
68
77
|
jdoc!
|
|
69
78
|
pry
|
|
70
|
-
rake
|
|
79
|
+
rake (>= 13.2.0)
|
|
71
80
|
rspec (>= 2.14.1)
|
|
72
81
|
|
|
73
82
|
BUNDLED WITH
|
data/jdoc.gemspec
CHANGED
|
@@ -17,12 +17,12 @@ Gem::Specification.new do |spec|
|
|
|
17
17
|
spec.require_paths = ["lib"]
|
|
18
18
|
|
|
19
19
|
spec.add_dependency "activesupport"
|
|
20
|
-
spec.add_dependency "
|
|
20
|
+
spec.add_dependency "erubi"
|
|
21
21
|
spec.add_dependency "json_schema"
|
|
22
22
|
spec.add_dependency "rack"
|
|
23
23
|
spec.add_dependency "redcarpet"
|
|
24
24
|
spec.add_development_dependency "bundler", ">= 1.6"
|
|
25
25
|
spec.add_development_dependency "pry"
|
|
26
|
-
spec.add_development_dependency "rake"
|
|
26
|
+
spec.add_development_dependency "rake", ">= 13.2.0"
|
|
27
27
|
spec.add_development_dependency "rspec", ">= 2.14.1"
|
|
28
28
|
end
|
data/lib/jdoc/generator.rb
CHANGED
|
@@ -24,10 +24,10 @@ module Jdoc
|
|
|
24
24
|
# @note Add some fix to adapt to GitHub anchor style
|
|
25
25
|
# @return [String] Generated text
|
|
26
26
|
def call
|
|
27
|
-
markdown =
|
|
27
|
+
markdown = render_erb(markdown_template, schema: schema)
|
|
28
28
|
if @html
|
|
29
29
|
html = markdown_parser.render(markdown)
|
|
30
|
-
html =
|
|
30
|
+
html = render_erb(html_template, body: html)
|
|
31
31
|
html.gsub(/id="(.+)"/) {|text| text.tr("/:", "") }
|
|
32
32
|
else
|
|
33
33
|
markdown
|
|
@@ -38,9 +38,11 @@ module Jdoc
|
|
|
38
38
|
|
|
39
39
|
private
|
|
40
40
|
|
|
41
|
-
# @return [
|
|
42
|
-
def
|
|
43
|
-
|
|
41
|
+
# @return [String]
|
|
42
|
+
def render_erb(template, **variables)
|
|
43
|
+
b = binding
|
|
44
|
+
variables.each { |k, v| b.local_variable_set(k, v) }
|
|
45
|
+
eval(Erubi::Engine.new(template).src, b)
|
|
44
46
|
end
|
|
45
47
|
|
|
46
48
|
# @returns [String] Path to ERB template to render HTML
|
|
@@ -66,11 +68,6 @@ module Jdoc
|
|
|
66
68
|
)
|
|
67
69
|
end
|
|
68
70
|
|
|
69
|
-
# @return [Erubis::Eruby] Renderer to render Markdown that takes schema data
|
|
70
|
-
def markdown_renderer
|
|
71
|
-
Erubis::Eruby.new(markdown_template)
|
|
72
|
-
end
|
|
73
|
-
|
|
74
71
|
# @return [String] Content of specified Markdown template
|
|
75
72
|
def markdown_template
|
|
76
73
|
File.read(markdown_template_path)
|
data/lib/jdoc/version.rb
CHANGED
data/lib/jdoc.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: jdoc
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ryo Nakamura
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: activesupport
|
|
@@ -25,7 +24,7 @@ dependencies:
|
|
|
25
24
|
- !ruby/object:Gem::Version
|
|
26
25
|
version: '0'
|
|
27
26
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
27
|
+
name: erubi
|
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
|
30
29
|
requirements:
|
|
31
30
|
- - ">="
|
|
@@ -114,14 +113,14 @@ dependencies:
|
|
|
114
113
|
requirements:
|
|
115
114
|
- - ">="
|
|
116
115
|
- !ruby/object:Gem::Version
|
|
117
|
-
version:
|
|
116
|
+
version: 13.2.0
|
|
118
117
|
type: :development
|
|
119
118
|
prerelease: false
|
|
120
119
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
120
|
requirements:
|
|
122
121
|
- - ">="
|
|
123
122
|
- !ruby/object:Gem::Version
|
|
124
|
-
version:
|
|
123
|
+
version: 13.2.0
|
|
125
124
|
- !ruby/object:Gem::Dependency
|
|
126
125
|
name: rspec
|
|
127
126
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -136,7 +135,6 @@ dependencies:
|
|
|
136
135
|
- - ">="
|
|
137
136
|
- !ruby/object:Gem::Version
|
|
138
137
|
version: 2.14.1
|
|
139
|
-
description:
|
|
140
138
|
email:
|
|
141
139
|
- r7kamura@gmail.com
|
|
142
140
|
executables:
|
|
@@ -150,7 +148,6 @@ files:
|
|
|
150
148
|
- ".github/workflows/github-label-sync.yml"
|
|
151
149
|
- ".github/workflows/release.yml"
|
|
152
150
|
- ".gitignore"
|
|
153
|
-
- CHANGELOG.md
|
|
154
151
|
- Gemfile
|
|
155
152
|
- Gemfile.lock
|
|
156
153
|
- LICENSE.txt
|
|
@@ -177,7 +174,6 @@ homepage: https://github.com/r7kamura/jdoc
|
|
|
177
174
|
licenses:
|
|
178
175
|
- MIT
|
|
179
176
|
metadata: {}
|
|
180
|
-
post_install_message:
|
|
181
177
|
rdoc_options: []
|
|
182
178
|
require_paths:
|
|
183
179
|
- lib
|
|
@@ -192,8 +188,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
192
188
|
- !ruby/object:Gem::Version
|
|
193
189
|
version: '0'
|
|
194
190
|
requirements: []
|
|
195
|
-
rubygems_version: 3.
|
|
196
|
-
signing_key:
|
|
191
|
+
rubygems_version: 3.6.9
|
|
197
192
|
specification_version: 4
|
|
198
193
|
summary: Generate API documentation from JSON Schema.
|
|
199
194
|
test_files:
|
data/CHANGELOG.md
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
## 0.4.3
|
|
2
|
-
|
|
3
|
-
- Add some CLI options (Thx @k1LoW)
|
|
4
|
-
|
|
5
|
-
## 0.4.2
|
|
6
|
-
|
|
7
|
-
- Show reason phrase in response example (Thx @minodisk)
|
|
8
|
-
|
|
9
|
-
## 0.4.1
|
|
10
|
-
|
|
11
|
-
- Use 204 for `mediaType: "null"`
|
|
12
|
-
|
|
13
|
-
## 0.4.0
|
|
14
|
-
|
|
15
|
-
- Recognize `mediaType: 'null'` as "No response body"
|
|
16
|
-
|
|
17
|
-
## 0.3.4
|
|
18
|
-
|
|
19
|
-
- Treat empty request parameters as no request body
|
|
20
|
-
|
|
21
|
-
## 0.3.3
|
|
22
|
-
|
|
23
|
-
- Improve pattern format in properties section
|
|
24
|
-
|
|
25
|
-
## 0.3.2
|
|
26
|
-
|
|
27
|
-
- Add generator options to change template
|
|
28
|
-
- Add request parameters for each endpoint
|
|
29
|
-
|
|
30
|
-
## 0.3.1
|
|
31
|
-
|
|
32
|
-
- Add error handling for ExampleNotFound
|
|
33
|
-
|
|
34
|
-
## 0.3.0
|
|
35
|
-
|
|
36
|
-
- Change example response status and body to PUT & DELETE requests
|
|
37
|
-
- Improve request path example by resolving variable in path
|
|
38
|
-
|
|
39
|
-
## 0.2.1
|
|
40
|
-
|
|
41
|
-
- Support multipart/form-data
|
|
42
|
-
|
|
43
|
-
## 0.2.0
|
|
44
|
-
|
|
45
|
-
- Show schema description on docs if exists
|
|
46
|
-
|
|
47
|
-
## 0.1.9
|
|
48
|
-
|
|
49
|
-
- Support property that has no type
|
|
50
|
-
|
|
51
|
-
## 0.1.8
|
|
52
|
-
|
|
53
|
-
- Support property that is an array of primitive values
|
|
54
|
-
|
|
55
|
-
## 0.1.7
|
|
56
|
-
|
|
57
|
-
- Support query string example in GET request
|
|
58
|
-
- Improve the description property visibility
|
|
59
|
-
|
|
60
|
-
## 0.1.6
|
|
61
|
-
|
|
62
|
-
- Disable `<em>` feature of Redcarpet
|
|
63
|
-
|
|
64
|
-
## 0.1.5
|
|
65
|
-
|
|
66
|
-
- Fix ToC link on HTML docs
|
|
67
|
-
|
|
68
|
-
## 0.1.4
|
|
69
|
-
|
|
70
|
-
- Provide :html option to render docs in HTML
|
|
71
|
-
|
|
72
|
-
## 0.1.3
|
|
73
|
-
|
|
74
|
-
- Use its pointer name if a resource has no title property
|
|
75
|
-
|
|
76
|
-
## 0.1.2
|
|
77
|
-
|
|
78
|
-
- Use .schema property for request body if exists
|
|
79
|
-
- Improve array resource handling
|
|
80
|
-
|
|
81
|
-
## 0.1.1
|
|
82
|
-
|
|
83
|
-
- Support has-one relation
|
|
84
|
-
|
|
85
|
-
## 0.1.0
|
|
86
|
-
|
|
87
|
-
- Show resources which have no links
|
|
88
|
-
|
|
89
|
-
## 0.0.9
|
|
90
|
-
|
|
91
|
-
- Support array property
|
|
92
|
-
|
|
93
|
-
## 0.0.8
|
|
94
|
-
|
|
95
|
-
- Fix resource equality
|
|
96
|
-
|
|
97
|
-
## 0.0.7
|
|
98
|
-
|
|
99
|
-
- Support `false` & `null` example value
|
|
100
|
-
|
|
101
|
-
## 0.0.6
|
|
102
|
-
|
|
103
|
-
- Use root API endpoint at example response
|
|
104
|
-
|
|
105
|
-
## 0.0.5
|
|
106
|
-
|
|
107
|
-
- Remove dependency on multi_json
|
|
108
|
-
|
|
109
|
-
## 0.0.4
|
|
110
|
-
|
|
111
|
-
- Support whitespace and multiple templates in href
|
|
112
|
-
|
|
113
|
-
## 0.0.3
|
|
114
|
-
|
|
115
|
-
- Fix missing gem dependencies
|
|
116
|
-
|
|
117
|
-
## 0.0.2
|
|
118
|
-
|
|
119
|
-
- Remove dependency on rack-spec
|
|
120
|
-
|
|
121
|
-
## 0.0.1
|
|
122
|
-
|
|
123
|
-
- 1st Release
|