def output
      return if rows.empty? # we got here with nothing to print to the screen
      auto_adjust_widths if width == :auto

      puts separator('first') if border

      rows.each_with_index do |row, index|
        row.output
        puts separator('middle') if border && (index != rows.size - 1)
      end

      puts separator('last') if border
    end
def output
      return if rows.empty? # we got here with nothing to print to the screen
      auto_adjust_widths if width == :auto

      puts separator('first') if border

      rows.each_with_index do |row, index|
        row.output
        puts separator('middle') if border && (index != rows.size - 1)
      end

      puts separator('last') if border
    end
rubocop:disable Metrics/AbcSize
 rubocop:disable Metrics/CyclomaticComplexity
 rubocop:disable Metrics/MethodLength