lib/wombat/crawler.rb in wombat-0.3.0 vs lib/wombat/crawler.rb in wombat-0.3.1
- old
+ new
@@ -8,11 +8,22 @@
module Wombat
module Crawler
include Parser
extend ActiveSupport::Concern
- def crawl
- parse self.class.send(:metadata)
+ def crawl(&block)
+ if block
+ @metadata_dup = self.class.send(:metadata).clone
+ instance_eval do
+ def method_missing method, *args, &block
+ @metadata_dup.send method, *args, &block
+ end
+ end
+ self.instance_eval &block
+ parse @metadata_dup
+ else
+ parse self.class.send(:metadata)
+ end
end
module ClassMethods
def method_missing method, *args, &block
metadata.send method, *args, &block
\ No newline at end of file