class TimerPlugin
Public Class Methods
colorize_if_should(text)
click to toggle source
# File lib/mvn2/plugin/timer.plugin.rb, line 44 def self.colorize_if_should(text) options = Plugins.get_var :options options[:colored] ? text.format_all : text.remove_format end
get_avg_message(amin, asec, avg, diff, m, s)
click to toggle source
# File lib/mvn2/plugin/timer.plugin.rb, line 49 def self.get_avg_message(amin, asec, avg, diff, m, s) progress = ((diff.to_f / avg.to_f) * 100.0) bars = [progress.floor, 100].min "[#{'=' * bars}>#{' ' * (100 - bars)}] {#{m}:#{s}}(:time) ({~#{'%.3f' % progress}%}(:percent)) (average: {#{amin}:#{asec}}(:average))" end
get_closest(time)
click to toggle source
# File lib/mvn2/plugin/timer.plugin.rb, line 55 def self.get_closest(time) averages = Plugins.get_var :averages averages.min { |a, b| (a - time).abs <=> (b - time).abs } end
get_time_parts(time)
click to toggle source
# File lib/mvn2/plugin/timer.plugin.rb, line 68 def self.get_time_parts(time) return (time / 60.0).floor, '%06.3f' % (time % 60) end
get_timer_message(start_time, time)
click to toggle source
# File lib/mvn2/plugin/timer.plugin.rb, line 60 def self.get_timer_message(start_time, time) diff = time - start_time avg = get_closest(diff) amin, asec = get_time_parts(avg) m, s = get_time_parts(diff) colorize_if_should((avg == 0) ? "{#{m}:#{s}}(:time)" : get_avg_message(amin, asec, avg, diff, m, s)) end