Method: Progressor::LimitedSequence#push

Defined in:
lib/progressor/limited_sequence.rb

#push(duration) ⇒ Object

Adds a duration in seconds to the internal storage of samples. Updates averages accordingly.



45
46
47
48
49
50
51
52
53
54
55
# File 'lib/progressor/limited_sequence.rb', line 45

def push(duration)
  @current += 1
  @measurements << duration
  # only keep last `max_samples`
  @measurements.shift if @measurements.count > max_samples

  @averages << average(@measurements)
  @averages = @averages.compact
  # only keep last `max_samples`
  @averages.shift if @averages.count > max_samples
end