linkage: simplify display logic

Move check for emptiness into the display method, avoiding repetitive
checks on the call site.

Closes #381.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
This commit is contained in:
Martin Afanasjew 2016-06-19 21:24:16 +02:00
parent e65d8e17e7
commit 806cfeee18

View File

@ -77,29 +77,16 @@ module Homebrew
end
def display_normal_output
unless @system_dylibs.empty?
display_items "System libraries", @system_dylibs
end
unless @brewed_dylibs.empty?
display_items "Homebrew libraries", @brewed_dylibs
end
unless @variable_dylibs.empty?
display_items "Variable-referenced libraries", @variable_dylibs
end
unless @broken_dylibs.empty?
display_items "Missing libraries", @broken_dylibs
end
unless @undeclared_deps.empty?
display_items "Possible undeclared dependencies", @undeclared_deps
end
display_items "System libraries", @system_dylibs
display_items "Homebrew libraries", @brewed_dylibs
display_items "Variable-referenced libraries", @variable_dylibs
display_items "Missing libraries", @broken_dylibs
display_items "Possible undeclared dependencies", @undeclared_deps
end
def display_test_output
if @broken_dylibs.empty?
puts "No broken dylib links"
else
display_items "Missing libraries", @broken_dylibs
end
display_items "Missing libraries", @broken_dylibs
puts "No broken dylib links" if @broken_dylibs.empty?
end
private
@ -107,6 +94,7 @@ module Homebrew
# Display a list of things.
# Things may either be an array, or a hash of (label -> array)
def display_items(label, things)
return if things.empty?
puts "#{label}:"
if things.is_a? Hash
things.sort.each do |list_label, list|