Class: Travis::Tools::Formatter
- Inherits:
-
Object
- Object
- Travis::Tools::Formatter
- Defined in:
- lib/travis/tools/formatter.rb
Constant Summary collapse
- DAY =
24 * 60 * 60
- TIME_FORMAT =
"%Y-%m-%d %H:%M:%S"
- CONFIG_KEYS =
['rvm', 'gemfile', 'env', 'jdk', 'otp_release', 'php', 'node_js', 'perl', 'python', 'scala', 'compiler', 'os']
Instance Method Summary collapse
- #duration(seconds, suffix = nil) ⇒ Object
- #file_size(input, human = true) ⇒ Object
- #job_config(config) ⇒ Object
- #time(time) ⇒ Object
Instance Method Details
#duration(seconds, suffix = nil) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/travis/tools/formatter.rb', line 10 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 > 0 output << "#{minutes} min" if minutes > 0 output << "#{seconds} sec" if seconds > 0 or output.empty? output << suffix if suffix output.join(" ") end |
#file_size(input, human = true) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/travis/tools/formatter.rb', line 23 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 and input > 512 and iec.any? input /= 1024.0 format = iec.shift end input = input.round(2) if input.is_a? Float "#{input} #{format}" end |
#job_config(config) ⇒ Object
41 42 43 44 45 46 47 |
# File 'lib/travis/tools/formatter.rb', line 41 def job_config(config) output = [] config.each_pair do |key, value| output << "#{key}: #{value}" if CONFIG_KEYS.include? key end output.join(", ") end |
#time(time) ⇒ Object
35 36 37 38 39 |
# File 'lib/travis/tools/formatter.rb', line 35 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 |