Class: Table

Inherits:
Object
  • Object
show all
Defined in:
lib/terminal-file-picker/table.rb

Overview

Styles given data to make it suitable for printing on a screen and look like justified columns of a table.

Instance Method Summary collapse

Constructor Details

#initialize(header, data, left_pad, right_pad) ⇒ Table

Returns a new instance of Table.



4
5
6
7
8
9
10
# File 'lib/terminal-file-picker/table.rb', line 4

def initialize(header, data, left_pad, right_pad)
  @header = header
  @data = data
  @left_pad = left_pad
  @right_pad = right_pad
  @col_sizes = table_column_sizes
end

Instance Method Details

#renderObject



12
13
14
15
16
17
# File 'lib/terminal-file-picker/table.rb', line 12

def render
  rendered_header = render_row(@header)
  rendered_data = @data.map { |row| render_row(row) }.join("\n")
  border = '-' * total_row_size
  [rendered_header, border, rendered_data].join("\n")
end

#total_row_sizeObject



19
20
21
22
# File 'lib/terminal-file-picker/table.rb', line 19

def total_row_size
  total_padding_size = (@left_pad + @right_pad) * @header.length
  @col_sizes.sum + total_padding_size
end