# frozen_string_literal: true module Wayfarer module Middleware class Stage module API def stage(urls) Array.wrap(urls).each { |url| task.metadata.staged_urls.add(url) } end end def call(task) task.metadata.staged_urls = SortedSet.new yield if block_given? task.metadata.staged_urls.each do |url| task.job.class.crawl_later(url, batch: task.batch) end end end end end