Sha256: 20c7d66c3b57e78dc6be480c85dee884aef1e1b924d271f7404d4a3c5a97c29e

Contents?: true

Size: 987 Bytes

Versions: 5

Compression:

Stored size: 987 Bytes

Contents

require 'enumerator'
require 'progress/with_progress'

module Enumerable
  # run any Enumerable method with progress
  # methods which don't necessarily go through all items (like find, any? or all?) will not show 100%
  # ==== Example
  #   [1, 2, 3].with_progress('Numbers').each do |number|
  #     # code
  #   end
  #   [1, 2, 3].with_progress('Numbers').each_cons(2) do |numbers|
  #     # code
  #   end
  def with_progress(title = nil)
    Progress::WithProgress.new(self, title)
  end

  # run `each` with progress
  # ==== Example
  #   [1, 2, 3].each_with_progress('Numbers') do |number|
  #     # code
  #   end
  def each_with_progress(title = nil, &block)
    with_progress(title).each(&block)
  end

  # run `each_with_index` with progress
  # ==== Example
  #   [1, 2, 3].each_with_index_and_progress('Numbers') do |number, index|
  #     # code
  #   end
  def each_with_index_and_progress(title = nil, &block)
    with_progress(title).each_with_index(&block)
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
progress-1.2.1 lib/progress/enumerable.rb
progress-1.2.0 lib/progress/enumerable.rb
progress-1.1.3 lib/progress/enumerable.rb
progress-1.1.2.1 lib/progress/enumerable.rb
progress-1.1.2 lib/progress/enumerable.rb