Skip to content

Commit 28953f0

Browse files
committed
Extract class grouping logic from classes sidebar view
1 parent a253a8d commit 28953f0

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

lib/rdoc/generator/darkfish.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -824,6 +824,17 @@ def generate_ancestor_list(ancestors, klass)
824824
content << '</li></ul>'
825825
end
826826

827+
def group_classes_by_namespace_for_sidebar(classes)
828+
grouped_classes = classes.group_by do |klass|
829+
klass.full_name[/\A[^:]++(?:::[^:]++(?=::))*+(?=::[^:]*+\z)/]
830+
end.select do |_, klasses|
831+
klasses.any?(&:display?)
832+
end
833+
834+
grouped_classes.values.each(&:uniq!)
835+
grouped_classes
836+
end
837+
827838
private
828839

829840
def nesting_namespaces_to_class_modules klass

lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,7 @@
22
<h3>Class and Module Index</h3>
33

44
<%-
5-
all_classes = @classes.group_by do |klass|
6-
klass.full_name[/\A[^:]++(?:::[^:]++(?=::))*+(?=::[^:]*+\z)/]
7-
end.delete_if do |_, klasses|
8-
!klasses.any?(&:display?)
9-
end
5+
all_classes = group_classes_by_namespace_for_sidebar(@classes)
106
link = proc do |index_klass, display = index_klass.display?|
117
if display
128
-%><code><a href="<%= rel_prefix %>/<%= index_klass.path %>"><%= index_klass.name %></a></code><%-
@@ -18,7 +14,6 @@
1814
solo = top.one? {|klass| klass.display?}
1915
traverse = proc do |klasses| -%>
2016
<ul class="link-list">
21-
<%- klasses.uniq!(&:full_name) -%>
2217
<%- klasses.each do |index_klass| -%>
2318
<%- if children = all_classes[index_klass.full_name] -%>
2419
<li><details<% if solo; solo = false %> open<% end %>><summary><% link.call(index_klass) %></summary>

0 commit comments

Comments
 (0)