Method: Progressor::LimitedSequence#initialize
- Defined in:
- lib/progressor/limited_sequence.rb
#initialize(total_count:, min_samples: 1, max_samples: 100, formatter: nil) ⇒ LimitedSequence
Creates a new LimitedSequence with the given parameters:
-
total_count: The expected number of loops.
-
min_samples: The number of samples to collect before attempting to calculate a time per iteration. Default: 1
-
max_samples: The maximum number of measurements to collect and average. Default: 100.
-
formatter: A callable that accepts the sequence object and returns a custom formatted string.
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/progressor/limited_sequence.rb', line 26 def initialize(total_count:, min_samples: 1, max_samples: 100, formatter: nil) @total_count = total_count @min_samples = min_samples @max_samples = [max_samples, total_count].min @formatter = formatter raise Error.new("min_samples needs to be a positive number") if min_samples <= 0 raise Error.new("max_samples needs to be larger than min_samples") if max_samples <= min_samples @start_time = Time.now @total_count_digits = total_count.to_s.length @current = 0 @measurements = [] @averages = [] end |