class Bundler::Thor::Shell::ColumnPrinter - bundler: Ruby Standard Library Documentation

# class Bundler::Thor::Shell::ColumnPrinter

### Attributes

options[R]
stdout[R]

### Public Class Methods

new(stdout, options = {}) click to toggle source

    # File bundler/vendor/thor/lib/thor/shell/column_printer.rb, line 8
    def initialize(stdout, options = {})
      @stdout = stdout
      @options = options
      @indent = options[:indent].to_i
    end

### Public Instance Methods

print(array) click to toggle source

    # File bundler/vendor/thor/lib/thor/shell/column_printer.rb, line 14
    def print(array)
      return if array.empty?
      colwidth = (array.map { |el| el.to_s.size }.max || 0) + 2
      array.each_with_index do |value, index|
        # Don't output trailing spaces when printing the last column
        if ((((index + 1) % (Terminal.terminal_width / colwidth))).zero? && !index.zero?) || index + 1 == array.length
          stdout.puts value
        else
          stdout.printf("%-#{colwidth}s", value)
        end
      end
    end