lib/wombat/crawler.rb in wombat-0.3.1 vs lib/wombat/crawler.rb in wombat-0.4.0
- old
+ new
@@ -12,30 +12,44 @@
def crawl(&block)
if block
@metadata_dup = self.class.send(: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
- parse @metadata_dup
+ parsed = parse @metadata_dup
+ instance_eval do
+ alias :method_missing :old_method_missing
+ remove_instance_variable :@metadata_dup
+ end
+ parsed
else
parse self.class.send(:metadata)
end
end
+ def method_missing(method, *args, &block)
+ self.class.send method, *args, &block
+ end
+
+ def for_each(selector, &block)
+ self.class.for_each selector, &block
+ end
+
module ClassMethods
- def method_missing method, *args, &block
+ def method_missing(method, *args, &block)
metadata.send method, *args, &block
end
- def for_each selector, &block
+ def for_each(selector, &block)
metadata.for_each(selector).instance_eval(&block) if block
end
- def follow_links selector
+ def follow_links(selector)
end
def to_ary
end
\ No newline at end of file