class ProgressBar::Throttle
def choke(options = {})
def choke(options = {}) return unless !timer.started? || options.fetch(:force_update_if, false) || timer.elapsed_seconds >= rate timer.restart yield end
def initialize(options = {})
def initialize(options = {}) self.rate = options[:throttle_rate] || 0.01 self.started_at = nil self.stopped_at = nil self.timer = options.fetch(:throttle_timer, Timer.new) end