Sha256: ff0a9af57c771e87e123ecbdff9471f1e1612fc62f77b41582f741d318af7d0a

Contents?: true

Size: 662 Bytes

Versions: 1

Compression:

Stored size: 662 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

1 entries across 1 versions & 1 rubygems

Version Path
squib-0.0.4 lib/squib/progress.rb