Sha256: cebb9446667608446ad81dd250b4be2a0e94b494cbe2cf14d061670e45dd1437

Contents?: true

Size: 378 Bytes

Versions: 10

Compression:

Stored size: 378 Bytes

Contents

class ProgressBar
  module Components
    class Throttle
      include Timer

      def initialize(options = {})
        @period = options.delete(:throttle_rate) { 0.01 } || 0.01
      end

      def choke(force = false, &block)
        if !started? || @period.nil? || force || elapsed_seconds >= @period
          yield

          start
        end
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
rubyjobbuilderdsl-0.0.2 vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/lib/ruby-progressbar/components/throttle.rb
rubyjobbuilderdsl-0.0.1 vendor/bundle/ruby/2.1.0/gems/ruby-progressbar-1.5.1/lib/ruby-progressbar/components/throttle.rb
ruby-progressbar-1.6.0 lib/ruby-progressbar/components/throttle.rb
ruby-progressbar-1.5.1 lib/ruby-progressbar/components/throttle.rb
ruby-progressbar-1.5.0 lib/ruby-progressbar/components/throttle.rb
ruby-progressbar-1.4.2 lib/ruby-progressbar/components/throttle.rb
ruby-progressbar-1.4.1 lib/ruby-progressbar/components/throttle.rb
ruby-progressbar-1.4.0 lib/ruby-progressbar/components/throttle.rb
ruby-progressbar-1.3.2 lib/ruby-progressbar/components/throttle.rb
ruby-progressbar-1.3.1 lib/ruby-progressbar/components/throttle.rb