Skip to content

Commit f8a8677

Browse files
authored
Refactor render_html_list (#4)
1 parent 30de900 commit f8a8677

File tree

1 file changed

+18
-26
lines changed

1 file changed

+18
-26
lines changed

src/http/commands/help/presenter.rb

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -70,28 +70,23 @@ def initialize(manifest)
7070
self.manifest = manifest
7171
end
7272

73-
def render_html_list(data, skip_wrapper: false)
73+
def render_html_list(data)
7474
html = ""
75-
7675
case data
7776
when ::Hash
78-
html << "<ul>" unless skip_wrapper
77+
html << "<ul>"
7978
data.each do |key, value|
8079
html << "<li>#{key}"
81-
html << "<ul>"
82-
html << render_html_list(value, skip_wrapper: true)
83-
html << "</ul>"
80+
html << render_html_list(value)
8481
html << "</li>"
8582
end
86-
html << "</ul>" unless skip_wrapper
83+
html << "</ul>"
8784
when ::Array
88-
html << "<ul>" unless skip_wrapper
8985
data.each do |item|
9086
html << render_html_list(item)
9187
end
92-
html << "</ul>" unless skip_wrapper
9388
when Manifest::Attributes
94-
html << "<ul>" unless skip_wrapper
89+
html << "<ul>"
9590
data.relevant_manifest.each_pair do |key, value|
9691
if key.to_s == "type"
9792
next
@@ -102,57 +97,54 @@ def render_html_list(data, skip_wrapper: false)
10297
value = data.attribute_declarations
10398
end
10499
html << "<li>#{key}"
105-
html << "<ul>"
106-
html << render_html_list(value, skip_wrapper: true)
107-
html << "</ul>"
100+
html << render_html_list(value)
108101
html << "</li>"
109102
end
110-
html << "</ul>" unless skip_wrapper
103+
html << "</ul>"
111104
when Manifest::Array
112-
html << "<ul>" unless skip_wrapper
105+
html << "<ul>"
113106
data.relevant_manifest.each_pair do |key, value|
114107
next if key == :element_type_declaration
115108

116109
if key.to_s == "type"
117110
value = root_manifest.lookup_path(key, value)
118111
end
119112
html << "<li>#{key}"
120-
html << "<ul>"
121-
html << render_html_list(value, skip_wrapper: true)
122-
html << "</ul>"
113+
html << render_html_list(value)
123114
html << "</li>"
124115
end
125-
html << render_html_list({ element_type: data.element_type }, skip_wrapper: true)
126-
html << "</ul>" unless skip_wrapper
116+
html << render_html_list({ element_type: data.element_type })
117+
html << "</ul>"
127118
when Manifest::TypeDeclaration
128119
manifest = data.relevant_manifest
129-
120+
html << "<ul>"
130121
if manifest.is_a?(::Symbol)
131122
html << "<li>"
132123
html << foobara_reference_link(data.to_type)
133124
html << "</li>"
134125
else
135-
html << "<ul>" unless skip_wrapper
136126
data.relevant_manifest.each_pair do |key, value|
137127
if key.to_s == "type"
138128
value = root_manifest.lookup_path(key, value)
139129
end
140130
html << "<li>#{key}"
141-
html << "<ul>"
142-
html << render_html_list(value, skip_wrapper: true)
143-
html << "</ul>"
131+
html << render_html_list(value)
144132
html << "</li>"
145133
end
146-
html << "</ul>" unless skip_wrapper
147134
end
135+
html << "</ul>"
148136
when Manifest::Type, Manifest::Command, Manifest::Error
137+
html << "<ul>"
149138
html << "<li>"
150139
html << foobara_reference_link(data)
151140
html << "</li>"
141+
html << "</ul>"
152142
when Manifest::PossibleError
153143
html << render_html_list(data.error)
154144
else
145+
html << "<ul>"
155146
html << "<li>#{data}</li>"
147+
html << "</ul>"
156148
end
157149

158150
html

0 commit comments

Comments
 (0)