Sha256: e56553e1c61f87a8af59f7eb96bc4d5a7fc692c982151d1311179317e0bfb9f8

Contents?: true

Size: 624 Bytes

Versions: 6

Compression:

Stored size: 624 Bytes

Contents

require 'ruby-progressbar'

module Squib

  # :nodoc:
  # @api private
  class DoNothing
    def increment
    end

    def finish
    end
  end

  # A facade that handles (or doesn't) the progress bar on the console
  #
  # :nodoc:
  # @api private
  class Progress
    attr_accessor :enabled

    def initialize(enabled)
      @enabled = enabled
    end

    def start(title='', total=100, &block)
      if @enabled
        @bar = ProgressBar.create(title: title, total: total, format: '%t <%B> %p%% %a')
        yield(@bar)
        @bar.finish
      else
        yield(Squib::DoNothing.new)
      end
    end
  end


end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
squib-0.19.0 lib/squib/progress.rb
squib-0.19.0b lib/squib/progress.rb
squib-0.19.0a lib/squib/progress.rb
squib-0.15.2 lib/squib/progress.rb
squib-0.15.1 lib/squib/progress.rb
squib-0.14.2 lib/squib/progress.rb