class IntervalTimer
Constants
- VERSION
Public Class Methods
started()
click to toggle source
# File lib/interval_timer/interval_timer.rb, line 2 def self.started timer = new timer.start timer end
Public Instance Methods
check_in(message = nil)
click to toggle source
# File lib/interval_timer/interval_timer.rb, line 14 def check_in(message = nil) check_in = build_check_in(message) check_ins.push(check_in) check_in end
Also aliased as: mark
check_ins()
click to toggle source
# File lib/interval_timer/interval_timer.rb, line 28 def check_ins @check_ins ||= [] end
report(message = nil)
click to toggle source
# File lib/interval_timer/interval_timer.rb, line 21 def report(message = nil) [ report_header(message).join("\n"), report_body.join("\n") ].join("\n") end
start()
click to toggle source
# File lib/interval_timer/interval_timer.rb, line 8 def start raise "Already started" if @start_time @start_time = Time.now end
Private Instance Methods
build_check_in(message)
click to toggle source
# File lib/interval_timer/interval_timer.rb, line 34 def build_check_in(message) { created_at: Time.now, message: message } end
report_body()
click to toggle source
# File lib/interval_timer/interval_timer.rb, line 51 def report_body output = [] check_ins.each_with_index do |x, i| last = i == 0 ? nil : check_ins[i - 1] output.push report_line(x, last) end output end
report_header(message)
click to toggle source
# File lib/interval_timer/interval_timer.rb, line 38 def report_header(message) output = [] output << "" output << "IntervalTimer report" + ( message.nil? ? '' : ": #{ message }" ) output << "start_time: #{@start_time}" output end
report_line(x, last)
click to toggle source
# File lib/interval_timer/interval_timer.rb, line 63 def report_line(x, last) if last since_last = x[:created_at] - last[:created_at] else since_last = x[:created_at] - @start_time end "#{x[:created_at]} -- #{ since_last.round(3) } -- #{x[:message]}" end