initialize

in lib/crawler/api/crawl.rb [22:45]


      def initialize(config)
        raise ArgumentError, 'Invalid config' unless config.is_a?(Config)
        raise ArgumentError, 'Missing domain allowlist' if config.domain_allowlist.empty?
        raise ArgumentError, 'Seed URLs need to be an enumerator' unless config.seed_urls.is_a?(Enumerator)
        raise ArgumentError, 'Need at least one Seed URL' unless config.seed_urls.any?

        @config = config
        @executor = HttpExecutor.new(config)
        @crawl_queue = Crawler::Data::UrlQueue.create(config)

        
        @seen_urls = Crawler::Data::SeenUrls.new

        
        @shutdown_started = Concurrent::AtomicBoolean.new(false)

        
        @sink = Crawler::OutputSink.create(config)

        
        
        @allow_resume = false
      end