Sha256: 7645dd77636fb0a269491dd6ddb184e7dc13b9ba7e9ff00052eda7b485e374bf
Contents?: true
Size: 588 Bytes
Versions: 7032
Compression:
Stored size: 588 Bytes
Contents
class ProgressBar class Throttle attr_accessor :rate, :started_at, :stopped_at, :timer 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 def choke(options = {}) return unless !timer.started? || options.fetch(:force_update_if, false) || timer.elapsed_seconds >= rate timer.restart yield end end end
Version data entries
7,032 entries across 6,980 versions & 63 rubygems