<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>lib/caboose.rb</filename>
    </added>
    <added>
      <filename>lib/caboose/spider_integrator.rb</filename>
    </added>
    <added>
      <filename>lib/caboose/spider_integrator/spiderable_form.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -2,10 +2,13 @@
 if defined?(Merb::Plugins)
 
   $LOAD_PATH &lt;&lt; File.dirname(__FILE__)
+  require 'hpricot'
+  require 'caboose'
+  require 'caboose/spider_integrator'
   %w(cookie cookie_jar simple_rsync archiver).each do |filename|
     require &quot;merb_static/#{filename}&quot;
   end
-
+  
   # Merb gives you a Merb::Plugins.config hash...feel free to put your stuff in your piece of it
   Merb::Plugins.config[:merb_static] = {
     :urls   =&gt; [&quot;/&quot;],</diff>
      <filename>lib/merb_static.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,9 @@
 module Merb
   module Static
     class Archiver
-
+      
+      include ::Caboose::SpiderIntegrator
+      
       attr_accessor :config
 
       def initialize
@@ -11,7 +13,7 @@ module Merb
       def self.build
         new do |a|
           a.read_configuration
-          a.copy_assets
+#           a.copy_assets
           a.unleash_the_spiders
         end
       end
@@ -40,11 +42,12 @@ module Merb
 
         @config[:urls].each do |relative_url|
           Merb.logger.info &quot;Fetching #{relative_url}&quot;
+          # TODO Do this in the request method
           absolute_url = [domain, relative_url].join
 
           Merb.logger.info &quot;Absolute url: #{absolute_url}&quot;
           response = request(absolute_url)
-
+          
           if response.status == 200
             Merb.logger.info &quot;Response is #{response.status}&quot;
             # TODO Get file type and extension from headers or request.
@@ -56,6 +59,8 @@ module Merb
             File.open(filename_on_disk, 'w') do |f|
               f.write(response.body.to_s)
             end
+            
+            spider(response.body, &quot;/&quot;, :verbose =&gt; true)  
           else
             raise &quot;Error while fetching page: #{response.inspect}&quot;
           end
@@ -64,6 +69,7 @@ module Merb
       end
 
       def request(uri, env = {})
+        # TODO Combine with domain here to get absolute URL
         uri = url(uri) if uri.is_a?(Symbol)
         uri = URI(uri)
         uri.scheme ||= &quot;http&quot;</diff>
      <filename>lib/merb_static/archiver.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>7fd71c4ec2b93a1bdf19b9287807979537c8db61</id>
    </parent>
  </parents>
  <author>
    <name>Geoffrey Grosenbach</name>
    <email>boss@topfunky.com</email>
  </author>
  <url>http://github.com/topfunky/merb_static/commit/3e5b560da6fb590b21a7fc81fca66b5dcc4c5ea8</url>
  <id>3e5b560da6fb590b21a7fc81fca66b5dcc4c5ea8</id>
  <committed-date>2008-12-15T08:35:15-08:00</committed-date>
  <authored-date>2008-12-15T08:35:15-08:00</authored-date>
  <message>Added caboose spider_integrator. Modified it for Merb and Hpricot.
Implemented initial static asset caching and dynamic HTML caching.</message>
  <tree>e5add8ba536b9fd59d0110e6d0cdeddb7c841d15</tree>
  <committer>
    <name>Geoffrey Grosenbach</name>
    <email>boss@topfunky.com</email>
  </committer>
</commit>
