class Heroku::Command::Pgbackups::Display

Attributes

columns[R]
rows[R]

Public Class Methods

new(columns=nil, rows=nil, opts={}) click to toggle source
# File lib/heroku/command/pgbackups.rb, line 264
def initialize(columns=nil, rows=nil, opts={})
  @columns = columns
  @rows = rows
  @opts = opts.update(:display_columns => @columns, :display_rows => @rows)
end

Public Instance Methods

render(*data) click to toggle source
# File lib/heroku/command/pgbackups.rb, line 270
def render(*data)
  _data = data
  data = DataSource.new(data, @opts)

  # join in grid lines
  lines = []
  data.rows.each { |row|
    lines << row.join(@opts[:delimiter] || " | ")
  }

  # insert header grid line
  if _data.length > 1
    grid_row = data.rows.first.map { |datum| "-" * datum.length }
    grid_line = grid_row.join("-+-")
    lines.insert(1, grid_line)
    lines << "" # trailing newline
  end
  return lines.join("\n")
end