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