Method deprecated or moved
This method is deprecated or moved on the latest stable version.
The last existing version (v2_2_9) is shown here.
print_file(files_so_far, filename)
public
Prints a file with a progress bar
Show source
def print_file files_so_far, filename
progress_bar = sprintf("%3d%% [%2d/%2d] ",
100 * files_so_far / @num_files,
files_so_far,
@num_files)
terminal_width = if defined?(IO) && IO.respond_to?(:console_size)
IO.console_size[1].to_i.nonzero? || 80
else
80
end
max_filename_size = terminal_width - progress_bar.size
if filename.size > max_filename_size then
filename = filename[(filename.size - max_filename_size) .. -1]
filename[0..2] = "..."
end
line = "#{progress_bar}#{filename}"
if $stdout.tty?
$stdout.print("\r" << (" " * @last_width) << ("\b" * @last_width) << "\r") if @last_width && @last_width > 0
@last_width = line.size
$stdout.print("#{line}\r")
else
$stdout.puts(line)
end
$stdout.flush
end