Sha256: 2f3948d267717b847c2574fc9714a5ee64f1e1f92d9327d337ebac98464a1ba8

Contents?: true

Size: 695 Bytes

Versions: 2

Compression:

Stored size: 695 Bytes

Contents

class Step
  def progress_bar(msg = "Progress", options = nil, &block)
    if Hash === msg and options.nil?
      options = msg
      msg = nil
    end
    options = {} if options.nil?

    max = options[:max]
    Open.mkdir files_dir
    bar = Log::ProgressBar.new_bar(max, {:desc => msg, :file => (@exec ? nil : file(:progress))}.merge(options))

    if block_given?
      bar.init
      res = yield bar
      bar.remove
      res
    else
      bar
    end
  end

  def traverse(obj, desc: nil , **kwargs, &block)
    desc = "Processing #{self.short_path}" if desc.nil?
    kwargs[:bar] = self.progress_bar(desc) unless kwargs.include?(:bar)
    TSV.traverse obj, **kwargs, &block
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
scout-gear-10.7.3 lib/scout/workflow/step/progress.rb
scout-gear-10.7.2 lib/scout/workflow/step/progress.rb