class Importmap::Commands
def puts_table(array)
def puts_table(array) column_sizes = array.reduce([]) do |lengths, row| row.each_with_index.map{ |iterand, index| [lengths[index] || 0, iterand.to_s.length].max } end divider = "|" + (column_sizes.map { |s| "-" * (s + 2) }.join('|')) + '|' array.each_with_index do |row, row_number| row = row.fill(nil, row.size..(column_sizes.size - 1)) row = row.each_with_index.map { |v, i| v.to_s + " " * (column_sizes[i] - v.to_s.length) } puts "| " + row.join(" | ") + " |" puts divider if row_number == 0 end end