[ruby/rdoc] Use flat_map for better performance

https://github.com/ruby/rdoc/commit/76192a280d
This commit is contained in:
Petrik 2023-06-14 22:39:47 +02:00 committed by git
parent c2f4b41480
commit 0c55ef1150
6 changed files with 13 additions and 13 deletions

View File

@ -610,7 +610,7 @@ class RDoc::Generator::Darkfish
@classes = @store.all_classes_and_modules.sort
@files = @store.all_files.sort
@methods = @classes.map { |m| m.method_list }.flatten.sort
@methods = @classes.flat_map { |m| m.method_list }.sort
@modsort = get_sorted_module_list @classes
end

View File

@ -230,9 +230,9 @@ class RDoc::Generator::JsonIndex
def index_methods
debug_msg " generating method search index"
list = @classes.uniq.map do |klass|
list = @classes.uniq.flat_map do |klass|
klass.method_list
end.flatten.sort_by do |method|
end.sort_by do |method|
[method.name, method.parent.full_name]
end

View File

@ -47,9 +47,9 @@
<h2 id="methods">Methods</h2>
<ul>
<%- @store.all_classes_and_modules.map do |mod|
<%- @store.all_classes_and_modules.flat_map do |mod|
mod.method_list
end.flatten.sort.each do |method| %>
end.sort.each do |method| %>
<li class="method">
<a href="<%= method.path %>"><%= h method.pretty_name %></a>
&mdash;

View File

@ -25,9 +25,9 @@ class RDoc::Markup::ToJoinedParagraph < RDoc::Markup::Formatter
def accept_paragraph paragraph
parts = paragraph.parts.chunk do |part|
String === part
end.map do |string, chunk|
end.flat_map do |string, chunk|
string ? chunk.join.rstrip : chunk
end.flatten
end
paragraph.parts.replace parts
end

View File

@ -602,9 +602,9 @@ end
end
def test_accept_verbatim_redefinable_operators
functions = %w[| ^ & <=> == === =~ > >= < <= << >> + - * / % ** ~ +@ -@ [] []= ` ! != !~].map { |redefinable_op|
functions = %w[| ^ & <=> == === =~ > >= < <= << >> + - * / % ** ~ +@ -@ [] []= ` ! != !~].flat_map { |redefinable_op|
["def #{redefinable_op}\n", "end\n"]
}.flatten
}
verb = @RM::Verbatim.new(*functions)

View File

@ -373,9 +373,9 @@ class TestRDocStore < XrefTestCase
assert_equal [@mod], s.all_modules.sort
assert_equal [@page, @top_level], s.all_files.sort
methods = s.all_classes_and_modules.map do |mod|
methods = s.all_classes_and_modules.flat_map do |mod|
mod.method_list
end.flatten.sort
end.sort
_meth_bang_alias = RDoc::AnyMethod.new nil, 'method_bang'
_meth_bang_alias.parent = @klass
@ -388,9 +388,9 @@ class TestRDocStore < XrefTestCase
assert_equal @klass, methods.last.parent
attributes = s.all_classes_and_modules.map do |mod|
attributes = s.all_classes_and_modules.flat_map do |mod|
mod.attributes
end.flatten.sort
end.sort
assert_equal [@attr], attributes