class Circler::BuildPrinter
Public Class Methods
new(builds, pretty: true)
click to toggle source
# File lib/circler/printer/build_printer.rb, line 5 def initialize(builds, pretty: true) @builds = builds @pretty = pretty end
Public Instance Methods
to_s()
click to toggle source
# File lib/circler/printer/build_printer.rb, line 10 def to_s @pretty ? print_pretty : print_compact end
Private Instance Methods
headings()
click to toggle source
# File lib/circler/printer/build_printer.rb, line 29 def headings %w[Number Status Branch Author Commit Duration StartTime] end
max_row_widths()
click to toggle source
# File lib/circler/printer/build_printer.rb, line 37 def max_row_widths @builds .map(&:information) .map { |array| array.map(&:to_s).map(&:size) } .transpose .map(&:max) end
pad_column_by_space(column, max_widths, index)
click to toggle source
# File lib/circler/printer/build_printer.rb, line 53 def pad_column_by_space(column, max_widths, index) column_string = column.to_s spaces = ' ' * (max_widths[index] - column_string.size) column_string + spaces end
pad_columns_by_space(columns, max_widths)
click to toggle source
# File lib/circler/printer/build_printer.rb, line 45 def pad_columns_by_space(columns, max_widths) columns .map .with_index { |column, i| pad_column_by_space(column, max_widths, i) } .join(' ') .to_s end
print_compact()
click to toggle source
# File lib/circler/printer/build_printer.rb, line 16 def print_compact rows.map { |row| pad_columns_by_space(row, max_row_widths) }.join("\n") end
print_pretty()
click to toggle source
# File lib/circler/printer/build_printer.rb, line 20 def print_pretty Terminal::Table.new(title: title, headings: headings, rows: rows).to_s end
rows()
click to toggle source
# File lib/circler/printer/build_printer.rb, line 33 def rows @builds.map(&:information) end
title()
click to toggle source
# File lib/circler/printer/build_printer.rb, line 24 def title build = @builds.first "Recent Builds / #{build.project_name}".green end