Sha256: bb0dccc41cbfd73b74188f0a9e15d149733943b74898f13cd1970eb5c1d4fb37

Contents?: true

Size: 1.28 KB

Versions: 126

Compression:

Stored size: 1.28 KB

Contents

##
# Stats printer that prints just the files being documented with a progress
# bar

class RDoc::Stats::Normal < RDoc::Stats::Quiet

  def begin_adding # :nodoc:
    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)

    # 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 if $stdout.tty?
  end

end

Version data entries

126 entries across 102 versions & 22 rubygems

Version Path
honeybadger-2.4.0 vendor/gems/ruby/2.2.0/gems/rdoc-4.1.1/lib/rdoc/stats/normal.rb
honeybadger-2.4.0 vendor/gems/ruby/2.1.0/gems/rdoc-4.1.1/lib/rdoc/stats/normal.rb
honeybadger-2.4.0 vendor/gems/ruby/1.9.1/gems/rdoc-4.1.1/lib/rdoc/stats/normal.rb
active_mailer-0.0.10 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/rdoc-3.12.1/lib/rdoc/stats/normal.rb
judge-2.0.5 vendor/bundle/ruby/2.1.0/gems/rdoc-3.12.2/lib/rdoc/stats/normal.rb
rdoc-4.1.2 lib/rdoc/stats/normal.rb
rdoc-4.1.1 lib/rdoc/stats/normal.rb
rdoc-4.1.0 lib/rdoc/stats/normal.rb
rdoc-4.1.0.preview.3 lib/rdoc/stats/normal.rb
candlepin-api-0.4.0 bundle/ruby/gems/rdoc-4.0.1/lib/rdoc/stats/normal.rb
active_mailer-0.0.9 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/rdoc-3.12.1/lib/rdoc/stats/normal.rb
active_mailer-0.0.8 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/rdoc-3.12.1/lib/rdoc/stats/normal.rb
active_mailer-0.0.7 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/rdoc-3.12.1/lib/rdoc/stats/normal.rb
active_mailer-0.0.6 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/rdoc-3.12.1/lib/rdoc/stats/normal.rb
font-awesome-rails-3.1.1.2 vendor/ruby/1.9.1/gems/rdoc-3.12.2/lib/rdoc/stats/normal.rb
font-awesome-rails-3.1.1.2 vendor/ruby/2.0.0/gems/rdoc-3.12.2/lib/rdoc/stats/normal.rb
font-awesome-rails-3.1.1.1 vendor/ruby/1.9.1/gems/rdoc-3.12.2/lib/rdoc/stats/normal.rb
font-awesome-rails-3.1.1.1 vendor/ruby/2.0.0/gems/rdoc-3.12.2/lib/rdoc/stats/normal.rb
challah-1.0.0.beta3 vendor/bundle/gems/rdoc-3.12.2/lib/rdoc/stats/normal.rb
fc-webicons-0.0.4 vendor/bundle/ruby/1.9.1/gems/rdoc-3.12.2/lib/rdoc/stats/normal.rb