module Wombat::Crawler

Attributes

metadata[RW]

Public Instance Methods

crawl(url = nil, &block) click to toggle source
# File lib/wombat/crawler.rb, line 20
def crawl(url = nil, &block)
  if block
    @metadata_dup = self.class.metadata.clone
    instance_eval do
      alias :old_method_missing :method_missing
      def method_missing method, *args, &block
        @metadata_dup.send method, *args, &block
      end
    end
    self.instance_eval &block
    parsed = parse(@metadata_dup, url)
    instance_eval do
      alias :method_missing :old_method_missing
      undef :old_method_missing
      remove_instance_variable :@metadata_dup
    end
    parsed
  else
    parse(self.class.metadata, url)
  end
end
Also aliased as: scrape
method_missing(method, *args, &block) click to toggle source
# File lib/wombat/crawler.rb, line 25
def method_missing method, *args, &block
  @metadata_dup.send method, *args, &block
end
scrape(url = nil, &block)
Alias for: crawl