-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathtemplate.html.erb
75 lines (73 loc) · 2.36 KB
/
template.html.erb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Ripper Data</title>
<style>
.doc {
margin-left: 24px;
}
.nodoc {
color: #999;
}
.toc {
display: flex;
flex-direction: column;
flex-wrap: wrap;
height: 520px;
}
.toc-event {
}
</style>
</head>
<body>
<div>
<h1>Ripper Events</h1>
<p>
This is a documented list of events from Ruby's <a href="http://ruby-doc.org/stdlib-2.5.0/libdoc/ripper/rdoc/Ripper.html">Ripper</a> parser.
They can be handled in subclasses of <code>Ripper</code>, using <code>`on_*`</code> methods
of varying arity. (View this page's <a href="https://github.com/rmosolgo/ripper_events">source code</a>.)
<p>
<%
doc, nodoc = ripper_data.partition { |ev, d| d.any? }
doc_count = doc.size
doc_perc = (doc_count.to_f / ripper_data.size) * 100
%>
<p>Coverage: <%= doc_count %> / <%= ripper_data.size %> (<%= doc_perc.round %>%)
<div class="toc" id="toc">
<% ripper_data.each do |event_name, data| %>
<a href="#<%= event_name %>" class="toc-event <%= data.any? ? "" : "nodoc" %>"><code><%= event_name.inspect %></code></a>
<% end %>
</div>
</div>
<div>
<% ripper_data.each do |event_name, data| %>
<% event = Events::Event.new(name: event_name, **data) %>
<div class="event" id="<%= event.name %>">
<p>
<a href="#<%= event.name %>">#</a>
<code>on_<%= event.name %><%= event.arguments.any? ? "(#{event.arguments.join(", ")})": "" %></code>
(<code><%= event.name.inspect %></code>,
in <code><%= Ripper::SCANNER_EVENTS.include?(event.name) ? "Ripper::SCANNER_EVENTS" : "Ripper::PARSER_EVENTS" %></code>)
<% if event.documented? %>
<div class="doc">
<p><%= event.description %></p>
<% event.examples.each do |ex| %>
<p>
<%= ex.rendered_code %>
<br>
<%= ex.rendered_image %>
</p>
<% end %>
</div>
<p><a href="#toc">↑ top</a></p>
<% else %>
<div class="doc nodoc">
<i>undocumented</i>
</div>
<% end %>
</div>
<% end %>
</div>
</body>
</html>