Sha256: 7b4f5a70830dbcdc8713f1b942dfd0884079865a4fd1b0ce9c987e9d4dd811b0

Contents?: true

Size: 788 Bytes

Versions: 4

Compression:

Stored size: 788 Bytes

Contents

require "progressbar"

module AbstractImporter
  module Reporters
    class ProgressReporter < BaseReporter

      def finish_setup(importer, ms)
        total = importer.collections.reduce(0) do |total, collection|
          total + importer.count_collection(collection)
        end
        @pbar = ProgressBar.new("progress", total)
      end

      def finish_all(importer, ms)
        pbar.finish
        io.puts "Finished in #{distance_of_time(ms)}"
      end

      def start_collection(collection)
        # Say nothing
      end



      def record_created(record)
        pbar.inc
      end

      def record_failed(record, hash)
        pbar.inc
      end

      def batch_inserted(size)
        pbar.inc size
      end

    protected
      attr_reader :pbar

    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
abstract_importer-1.5.1 lib/abstract_importer/reporters/progress_reporter.rb
abstract_importer-1.5.0 lib/abstract_importer/reporters/progress_reporter.rb
abstract_importer-1.4.1 lib/abstract_importer/reporters/progress_reporter.rb
abstract_importer-1.4.0 lib/abstract_importer/reporters/progress_reporter.rb