From 7ed51785df6c4c3999cb9ef2d9893c5f4fac4672 Mon Sep 17 00:00:00 2001 From: drbrain Date: Thu, 12 May 2011 23:41:35 +0000 Subject: * lib/rdoc/rdoc.rb: Output summary after documentation report. * lib/rdoc/stats/normal.rb: Don't output information for users when we're not on a TTY git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/rdoc/rdoc.rb | 2 +- lib/rdoc/stats/normal.rb | 43 ++++++++++++++++++++----------------------- 2 files changed, 21 insertions(+), 24 deletions(-) (limited to 'lib') diff --git a/lib/rdoc/rdoc.rb b/lib/rdoc/rdoc.rb index c66e66a87c..3eab6cdfc4 100644 --- a/lib/rdoc/rdoc.rb +++ b/lib/rdoc/rdoc.rb @@ -455,7 +455,7 @@ The internal error was: end end - unless @options.quiet or not @stats then + if @stats and (@options.coverage_report or not @options.quiet) then puts puts @stats.summary end diff --git a/lib/rdoc/stats/normal.rb b/lib/rdoc/stats/normal.rb index 2057332b2d..c971973bf1 100644 --- a/lib/rdoc/stats/normal.rb +++ b/lib/rdoc/stats/normal.rb @@ -5,46 +5,43 @@ class RDoc::Stats::Normal < RDoc::Stats::Quiet def begin_adding # :nodoc: - puts "Parsing sources..." + puts "Parsing sources..." if $stdout.tty? end ## # Prints a file with a progress bar def print_file files_so_far, filename + return unless $stdout.tty? + progress_bar = sprintf("%3d%% [%2d/%2d] ", 100 * files_so_far / @num_files, files_so_far, @num_files) - if $stdout.tty? then - # Print a progress bar, but make sure it fits on a single line. Filename - # will be truncated if necessary. - terminal_width = (ENV['COLUMNS'] || 80).to_i - max_filename_size = terminal_width - progress_bar.size - - if filename.size > max_filename_size then - # Turn "some_long_filename.rb" to "...ong_filename.rb" - filename = filename[(filename.size - max_filename_size) .. -1] - filename[0..2] = "..." - end - - # Pad the line with whitespaces so that leftover output from the - # previous line doesn't show up. - line = "#{progress_bar}#{filename}" - padding = terminal_width - line.size - line << (" " * padding) if padding > 0 - - $stdout.print("#{line}\r") - else - $stdout.puts "#{progress_bar} #{filename}" + # Print a progress bar, but make sure it fits on a single line. Filename + # will be truncated if necessary. + terminal_width = (ENV['COLUMNS'] || 80).to_i + max_filename_size = terminal_width - progress_bar.size + + if filename.size > max_filename_size then + # Turn "some_long_filename.rb" to "...ong_filename.rb" + filename = filename[(filename.size - max_filename_size) .. -1] + filename[0..2] = "..." end + # Pad the line with whitespaces so that leftover output from the + # previous line doesn't show up. + line = "#{progress_bar}#{filename}" + padding = terminal_width - line.size + line << (" " * padding) if padding > 0 + + $stdout.print("#{line}\r") $stdout.flush end def done_adding # :nodoc: - puts + puts if $stdout.tty? end end -- cgit v1.2.3