progress_bar_subscriber.rb 532 B

123456789101112131415161718192021222324252627
  1. # frozen_string_literal: true
  2. require 'progress_bar'
  3. module Docs
  4. class ProgressBarSubscriber < Subscriber
  5. self.namespace = 'scraper'
  6. def running(event)
  7. @progress_bar = ::ProgressBar.new event.payload[:urls].length
  8. @progress_bar.write
  9. end
  10. def queued(event)
  11. @progress_bar.max += event.payload[:urls].length
  12. @progress_bar.write
  13. end
  14. def process_response(event)
  15. @progress_bar.increment!
  16. end
  17. def ignore_response(event)
  18. @progress_bar.increment!
  19. end
  20. end
  21. end