lib/spidr/agent.rb
def enqueue(url,level=0)
      url = sanitize_url(url)

      if (!(queued?(url)) && visit?(url))
        link = url.to_s

        begin
          @every_url_blocks.each { |url_block| url_block.call(url) }

          @every_url_like_blocks.each do |pattern,url_blocks|
            match = case pattern
                    when Regexp
                      link =~ pattern
                    else
                      (pattern == link) || (pattern == url)
                    end

            if match
              url_blocks.each { |url_block| url_block.call(url) }
            end
          end
        rescue Actions::Paused => action
          raise(action)
        rescue Actions::SkipLink
          return false
        rescue Actions::Action
        end

        @queue << url
        @levels[url] = level
        return true
      end

      return false
    end
def enqueue(url,level=0)
      url = sanitize_url(url)

      if (!(queued?(url)) && visit?(url))
        link = url.to_s

        begin
          @every_url_blocks.each { |url_block| url_block.call(url) }

          @every_url_like_blocks.each do |pattern,url_blocks|
            match = case pattern
                    when Regexp
                      link =~ pattern
                    else
                      (pattern == link) || (pattern == url)
                    end

            if match
              url_blocks.each { |url_block| url_block.call(url) }
            end
          end
        rescue Actions::Paused => action
          raise(action)
        rescue Actions::SkipLink
          return false
        rescue Actions::Action
        end

        @queue << url
        @levels[url] = level
        return true
      end

      return false
    end
def enqueue ( url , level = 0 ) url = sanitize_url ( url ) if ( ! ( queued? ( url ) ) && visit? ( url ) ) link = url . to_s begin @every_url_blocks . each { | url_block | url_block . call ( url ) } @every_url_like_blocks . each do | pattern , url_blocks | match = case pattern when Regexp link =~ pattern else ( pattern == link ) || ( pattern == url ) end if match url_blocks . each { | url_block | url_block . call ( url ) } end end rescue Actions :: Paused => action raise ( action ) rescue Actions :: SkipLink return false rescue Actions :: Action end @queue << url @levels [ url ] = level return true end return false end
Enqueues a given URL for visiting, only if it passes all of the
 agent's rules for visiting a given URL.

 @param [URI::HTTP, String] url
   The URL to enqueue for visiting.

 @return [Boolean]
   Specifies whether the URL was enqueued, or ignored.
Enqueues a given URL for visiting only if it passes all of the agent s rules for visiting a given URL .