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
print_pretty() click to toggle source
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