require 'anemone/http'12module Anemone3class Tentacle45#6# Create a new Tentacle7#8def initialize(link_queue, page_queue, opts = {})9@link_queue = link_queue10@page_queue = page_queue11@http = Anemone::HTTP.new(opts)12@opts = opts13end1415#16# Gets links from @link_queue, and returns the fetched17# Page objects into @page_queue18#19def run20loop do21link, referer, depth = @link_queue.deq2223break if link == :END2425@http.fetch_pages(link, referer, depth).each { |page| @page_queue << page }2627delay28end29end3031private3233def delay34sleep @opts[:delay] if @opts[:delay] > 035end3637end38end394041