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