rain-doc 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/doc_part.rb +2 -2
- data/lib/rain.rb +8 -1
- data/templates/css/rain.css +36 -0
- data/templates/doc.erb +26 -20
- data/templates/layout.erb +1 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 17f3f57b0db1830d87f264ed478993bddae46dbf
|
4
|
+
data.tar.gz: 76ae901bacabe4b66368d80b8923e05ff1082d73
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d1f10d35fc3cf4c1715e5178d2fd4dca41379a6b4c97fc501373902d8c9488c4acab9a2f7f0cf6a7c7b381fccff49a19bdb435f3d36323f810a9fa754494d436
|
7
|
+
data.tar.gz: b9d11ecabb6012c7ac888cdf837fabe96c3c80b0e95c7c93b45c1d5a6959c7ed36cfb9fb7db1690be9ef8e9f0ef1bf7784a6d7964961be23a4340b36475f29a3
|
data/lib/doc_part.rb
CHANGED
@@ -103,7 +103,7 @@ module Rain
|
|
103
103
|
if current_param.nil?
|
104
104
|
self.params << {
|
105
105
|
name: name,
|
106
|
-
text: description,
|
106
|
+
text: [description],
|
107
107
|
type: type,
|
108
108
|
default: default
|
109
109
|
}
|
@@ -133,7 +133,7 @@ module Rain
|
|
133
133
|
if current_header.nil?
|
134
134
|
self.headers << {
|
135
135
|
name: name,
|
136
|
-
text: description
|
136
|
+
text: [description]
|
137
137
|
}
|
138
138
|
else
|
139
139
|
# otherwise append to the current header
|
data/lib/rain.rb
CHANGED
@@ -6,6 +6,9 @@ require 'fileutils'
|
|
6
6
|
class Rain::CLI < Thor
|
7
7
|
@@docs = []
|
8
8
|
|
9
|
+
# loops through all of the specified source
|
10
|
+
# files, parses them line by line and produces
|
11
|
+
# doc and docpart output
|
9
12
|
desc "generate [file/sources/**]", "Generates the rain documentation"
|
10
13
|
method_option :log_parse, aliases: "--lp", desc: "Show the output of each line parse."
|
11
14
|
method_option :parse_signatures, aliases: "--s", desc: "Parse method and class documentation too. Defaults to false."
|
@@ -23,6 +26,7 @@ class Rain::CLI < Thor
|
|
23
26
|
|
24
27
|
print "\nBuilding html output... \n"
|
25
28
|
build_html
|
29
|
+
print "\nDone! See rain_out/ directory for output.\n"
|
26
30
|
end
|
27
31
|
|
28
32
|
# define the ascii art for the help command
|
@@ -39,6 +43,9 @@ class Rain::CLI < Thor
|
|
39
43
|
print " \n"
|
40
44
|
print "basic usage:\n"
|
41
45
|
print " rain generate file/**/*.rb\n"
|
46
|
+
print "options:\n"
|
47
|
+
print " --lp logs all line parsing output to console\n"
|
48
|
+
print " --s generates docs for methods and class signatures\n"
|
42
49
|
end
|
43
50
|
|
44
51
|
no_commands do
|
@@ -106,7 +113,7 @@ class Rain::CLI < Thor
|
|
106
113
|
else
|
107
114
|
nav[:navdoc][:parts] << {
|
108
115
|
title: part[:route],
|
109
|
-
url: "#{html_file_name}##{part[:route].gsub('/', '-').gsub(':', '')}"
|
116
|
+
url: "#{html_file_name}##{part[:http_method].downcase}#{part[:route].gsub('/', '-').gsub(':', '')}"
|
110
117
|
}
|
111
118
|
end
|
112
119
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
hr {
|
2
|
+
width: 80%;
|
3
|
+
}
|
4
|
+
p {
|
5
|
+
font-size: 120%;
|
6
|
+
}
|
7
|
+
|
8
|
+
/* Styles for how the route & method display as well as their color. */
|
9
|
+
.route-outer {
|
10
|
+
width: 100%;
|
11
|
+
border: 1px solid #ccc;
|
12
|
+
border-radius: 5px;
|
13
|
+
margin: 20px 0;
|
14
|
+
}
|
15
|
+
.route-method {
|
16
|
+
display: inline-block;
|
17
|
+
font-weight: bold;
|
18
|
+
padding: 5px 10px;
|
19
|
+
color: white;
|
20
|
+
}
|
21
|
+
.route-path {
|
22
|
+
display: inline-block;
|
23
|
+
padding: 5px 10px;
|
24
|
+
}
|
25
|
+
.method-get, .method-head {
|
26
|
+
background-color: #009C5d;
|
27
|
+
}
|
28
|
+
.method-post {
|
29
|
+
background-color: #e58500;
|
30
|
+
}
|
31
|
+
.method-put, .method-patch {
|
32
|
+
background-color: #075494;
|
33
|
+
}
|
34
|
+
.method-delete {
|
35
|
+
background-color: #e54400;
|
36
|
+
}
|
data/templates/doc.erb
CHANGED
@@ -1,21 +1,26 @@
|
|
1
|
-
<!-- loop through all of the doc
|
2
|
-
<% parts.each do |
|
1
|
+
<!-- loop through all of the doc doc_parts for the doc and render output -->
|
2
|
+
<% parts.each do |doc_part| %>
|
3
3
|
|
4
4
|
<!-- HTTP method and route (if both specified) -->
|
5
|
-
<% if !
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
<% if !doc_part[:route].nil? && !doc_part[:http_method].nil? %>
|
6
|
+
<div class="route-outer">
|
7
|
+
<div id="<%= doc_part[:route].gsub('/', '-').gsub(':', '') %>" class="route-method method-<%=doc_part[:http_method].downcase %>">
|
8
|
+
<%= doc_part[:http_method] %>
|
9
|
+
</div>
|
10
|
+
<div class="route-path"><%= doc_part[:route] %></div>
|
11
|
+
</div>
|
12
|
+
<% elsif !doc_part[:signature].nil? %>
|
13
|
+
<p id="<%= doc_part[:signature].gsub(' ', '-').gsub(',', '').gsub('(', '-').gsub(')', '-')[0..12] %>"><strong><%= doc_part[:signature] %></strong></p>
|
9
14
|
<% end %>
|
10
15
|
|
11
|
-
<!-- display all of the docs together for the
|
12
|
-
<p><%
|
13
|
-
<%= doc
|
16
|
+
<!-- display all of the docs together for the doc_part -->
|
17
|
+
<p><% doc_part[:doc].each do |doc| %>
|
18
|
+
<%= doc %>
|
14
19
|
<% end %></p>
|
15
20
|
|
16
21
|
<!-- show all of the params in a table -->
|
17
|
-
<% if
|
18
|
-
<
|
22
|
+
<% if doc_part[:params].length > 0 %>
|
23
|
+
<h5>Parameters</h5>
|
19
24
|
<table class="u-full-width">
|
20
25
|
<thead>
|
21
26
|
<tr>
|
@@ -25,20 +30,20 @@
|
|
25
30
|
<th>Description</th>
|
26
31
|
</tr>
|
27
32
|
</thead>
|
28
|
-
<%
|
33
|
+
<% doc_part[:params].each do |param| %>
|
29
34
|
<tr>
|
30
35
|
<td><%= param[:name] %></td>
|
31
36
|
<td><%= param[:type] %></td>
|
32
37
|
<td><%= param[:default].nil? ? 'N/A' : param[:default] %></td>
|
33
|
-
<td><%= param[:text] %></td>
|
38
|
+
<td><%= param[:text].join(' ') %></td>
|
34
39
|
</tr>
|
35
40
|
<% end %>
|
36
41
|
</table>
|
37
42
|
<% end %>
|
38
43
|
|
39
44
|
<!-- show all of the headers in a table -->
|
40
|
-
<% if
|
41
|
-
<
|
45
|
+
<% if doc_part[:headers].length > 0 %>
|
46
|
+
<h5>Headers</h5>
|
42
47
|
<table class="u-full-width">
|
43
48
|
<thead>
|
44
49
|
<tr>
|
@@ -46,21 +51,22 @@
|
|
46
51
|
<th>Description</th>
|
47
52
|
</tr>
|
48
53
|
</thead>
|
49
|
-
<%
|
54
|
+
<% doc_part[:headers].each do |param| %>
|
50
55
|
<tr>
|
51
56
|
<td><%= param[:name] %></td>
|
52
|
-
<td><%= param[:text] %></td>
|
57
|
+
<td><%= param[:text].join(' ') %></td>
|
53
58
|
</tr>
|
54
59
|
<% end %>
|
55
60
|
</table>
|
56
61
|
<% end %>
|
57
62
|
|
58
63
|
<!-- show all of the responses with examples -->
|
59
|
-
<% if
|
60
|
-
<
|
61
|
-
<%
|
64
|
+
<% if doc_part[:responses].length > 0 %>
|
65
|
+
<h5>Response Examples</h5>
|
66
|
+
<% doc_part[:responses].each do |response| %>
|
62
67
|
<p><strong><%= response[:code] %></strong> <%= response[:id].upcase %></p>
|
63
68
|
<pre><code><%= response[:text].join("\n") %></code></pre>
|
64
69
|
<% end %>
|
65
70
|
<% end %>
|
71
|
+
<hr />
|
66
72
|
<% end %>
|
data/templates/layout.erb
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
<title>Rain | <%= title %></title>
|
4
4
|
<link rel="stylesheet" type="text/css" href="css/normalize.css" />
|
5
5
|
<link rel="stylesheet" type="text/css" href="css/skeleton.css" />
|
6
|
+
<link rel="stylesheet" type="text/css" href="css/rain.css" />
|
6
7
|
</head>
|
7
8
|
<body>
|
8
9
|
<div class="container">
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rain-doc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Brennan
|
@@ -72,6 +72,7 @@ files:
|
|
72
72
|
- lib/parser.rb
|
73
73
|
- lib/rain.rb
|
74
74
|
- templates/css/normalize.css
|
75
|
+
- templates/css/rain.css
|
75
76
|
- templates/css/skeleton.css
|
76
77
|
- templates/doc.erb
|
77
78
|
- templates/layout.erb
|