Class: TimerPlugin
- Inherits:
-
Object
- Object
- TimerPlugin
- Extended by:
- Plugin, PluginType
- Defined in:
- lib/mvn2/plugin/timer.plugin.rb
Class Method Summary collapse
- .colorize_if_should(text) ⇒ Object
- .get_avg_message(amin, asec, avg, diff, m, s) ⇒ Object
- .get_closest(time) ⇒ Object
- .get_time_parts(time) ⇒ Object
- .get_timer_message(start_time, time) ⇒ Object
Class Method Details
.colorize_if_should(text) ⇒ Object
40 41 42 43 |
# File 'lib/mvn2/plugin/timer.plugin.rb', line 40 def self.colorize_if_should(text) = Plugins.get_var :options [:colored] ? text.format_all : text.remove_format end |
.get_avg_message(amin, asec, avg, diff, m, s) ⇒ Object
45 46 47 48 49 |
# File 'lib/mvn2/plugin/timer.plugin.rb', line 45 def self.(amin, asec, avg, diff, m, s) progress = ((diff.to_f / avg.to_f) * 100.0) = [progress.floor, 100].min "[#{'=' * }>#{' ' * (100 - )}] {#{m}:#{s}}(:time) ({~#{'%.3f' % progress}%}(:percent)) (average: {#{amin}:#{asec}}(:average))" end |
.get_closest(time) ⇒ Object
51 52 53 54 |
# File 'lib/mvn2/plugin/timer.plugin.rb', line 51 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) ⇒ Object
64 65 66 |
# File 'lib/mvn2/plugin/timer.plugin.rb', line 64 def self.get_time_parts(time) return (time / 60.0).floor, '%06.3f' % (time % 60) end |
.get_timer_message(start_time, time) ⇒ Object
56 57 58 59 60 61 62 |
# File 'lib/mvn2/plugin/timer.plugin.rb', line 56 def self.(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)" : (amin, asec, avg, diff, m, s)) end |