class CliTable

Attributes

column_widths[RW]
headers[RW]
rows[RW]

Public Instance Methods

add(headers, rows) click to toggle source
# File lib/ha/cli_table.rb, line 4
def add(headers, rows)
  @headers = headers
  @rows = rows
end
header_render() click to toggle source
# File lib/ha/cli_table.rb, line 23
def header_render
  result = ""
  @headers.each_index { |i| result << (" %#{column_widths[i]}s" % headers[i]) }
  result
end
render() click to toggle source
# File lib/ha/cli_table.rb, line 14
def render
  result = header_render + "\n"
  @rows.each do
    |row|
    result << row_render(row) + "\n"
  end
  result
end
reset() click to toggle source
# File lib/ha/cli_table.rb, line 35
def reset
  @rows = []
end
row_render(row) click to toggle source
# File lib/ha/cli_table.rb, line 29
def row_render row
  result = ""
  @headers.each_index { |i| result << (" %#{column_widths[i]}s" % format_value(row[i])) }
  result
end
rows_count() click to toggle source
# File lib/ha/cli_table.rb, line 9
def rows_count
  @rows.length
end

Private Instance Methods

format_value(val) click to toggle source
# File lib/ha/cli_table.rb, line 41
def format_value(val)
  if [true, false].include? val
    val ? "Yes" : "No"
  elsif val.nil?
    val = "nil"
  end
  val
end