class Travis::Tools::Formatter
def duration(seconds, suffix = nil)
def duration(seconds, suffix = nil) return 'none' if seconds.nil? seconds = (Time.now - seconds).to_i if seconds.is_a? Time output = [] minutes, seconds = seconds.divmod(60) hours, minutes = minutes.divmod(60) output << "#{hours} hrs" if hours.positive? output << "#{minutes} min" if minutes.positive? output << "#{seconds} sec" if seconds.positive? || output.empty? output << suffix if suffix output.join(' ') end
def file_size(input, human: true)
def file_size(input, human: true) return "#{input} B" unless human format = 'B' iec = %w[KiB MiB GiB TiB PiB EiB ZiB YiB] while human && (input > 512) && iec.any? input /= 1024.0 format = iec.shift end input = input.round(2) if input.is_a? Float "#{input} #{format}" end
def job_config(config)
def job_config(config) output = [] config.each_pair do |key, value| output << "#{key}: #{value}" if CONFIG_KEYS.include? key end output.join(', ') end
def time(time)
def time(time) return 'not yet' if time.nil? # or time > Time.now # return duration(time, "ago") if Time.now - time < DAY time.localtime.strftime(TIME_FORMAT) end