<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>soup.gemspec</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -6,4 +6,5 @@ doc
 *~
 meta
 tmp
-soup
\ No newline at end of file
+soup
+rdoc
\ No newline at end of file</diff>
      <filename>.gitignore</filename>
    </modified>
    <modified>
      <diff>@@ -1,12 +1,6 @@
 lib/soup/empty_class.rb
 lib/soup/snip.rb
-lib/soup/tuples/active_record_tuple.rb
-lib/soup/tuples/data_mapper_tuple.rb
-lib/soup/tuples/sequel_tuple.rb
 lib/soup.rb
 Manifest
 README
-spec/snip_spec.rb
-spec/soup_spec.rb
-spec/spec_helper.rb
-spec/spec_runner.rb
+test/soup_test.rb</diff>
      <filename>Manifest</filename>
    </modified>
    <modified>
      <diff>@@ -1,46 +1,115 @@
-require 'rubygems'
+require &quot;rubygems&quot;
+require &quot;rake/gempackagetask&quot;
+require &quot;rake/rdoctask&quot;
 
-require 'lib/soup'
+task :default =&gt; :test
 
-begin
-  require 'echoe'
-
-  Echoe.new(&quot;soup&quot;, Soup::VERSION) do |soup|
-    soup.author = [&quot;James Adam&quot;]
-    soup.email = [&quot;james@lazyatom.com&quot;]
-    soup.description = File.readlines(&quot;README&quot;).first
-    soup.dependencies = [&quot;activerecord &gt;=2.0.2&quot;]
-    soup.clean_pattern = [&quot;*.db&quot;, &quot;meta&quot;, &quot;pkg&quot;]
-    soup.ignore_pattern = [&quot;.git&quot;, &quot;*.db&quot;, &quot;meta&quot;]
-  end
-  
-rescue LoadError
-  puts &quot;You need to install the echoe gem to perform meta operations on this gem&quot;
+require &quot;rake/testtask&quot;
+Rake::TestTask.new do |t|
+  t.libs &lt;&lt; &quot;test&quot;
+  t.test_files = FileList[&quot;test/**/*_test.rb&quot;]
+  t.verbose = true
 end
 
-begin
-  require 'spec'
-  require 'spec/rake/spectask'
+# This builds the actual gem. For details of what all these options
+# mean, and other ones you can add, check the documentation here:
+#
+#   http://rubygems.org/read/chapter/20
+#
+spec = Gem::Specification.new do |s|
   
-  Spec::Rake::SpecTask.new do |t|
-    t.spec_opts = [&quot;--format&quot;, &quot;specdoc&quot;, &quot;--colour&quot;]
-    t.spec_files = Dir['spec/**/*_spec.rb'].sort
-    t.libs = ['lib']
-    #t.rcov = true
-    #t.rcov_dir = 'meta/coverage'
-  end
+  # Change these as appropriate
+  s.name              = &quot;soup&quot;
+  s.version           = &quot;0.9.9&quot;
+  s.summary           = &quot;A super-simple data store&quot;
+  s.author            = &quot;James Adam&quot;
+  s.email             = &quot;james@lazyatom.com&quot;
+  s.homepage          = &quot;http://lazyatom.com&quot;
+
+  s.has_rdoc          = true
+  s.extra_rdoc_files  = %w(README)
+  s.rdoc_options      = %w(--main README)
+
+  # Add any extra files to include in the gem
+  s.files             = %w(Manifest Rakefile README) + Dir.glob(&quot;{test,lib}/**/*&quot;)
+   
+  s.require_paths     = [&quot;lib&quot;]
   
-  task :show_rcov do
-    system 'open meta/coverage/index.html' if PLATFORM['darwin']
-  end
+  # If you want to depend on other gems, add them here, along with any
+  # relevant versions
+  # s.add_dependency(&quot;some_other_gem&quot;, &quot;~&gt; 0.1.0&quot;)
   
-rescue LoadError
-  puts &quot;You need RSpec installed to run the spec (default) task on this gem&quot;
+  # If your tests use any gems, include them here
+  # s.add_development_dependency(&quot;mocha&quot;)
+
+  # If you want to publish automatically to rubyforge, you'll may need
+  # to tweak this, and the publishing task below too.
+  s.rubyforge_project = &quot;soup&quot;
 end
 
-desc &quot;Open an irb session preloaded with this library&quot;
-task :console do
-  sh &quot;irb --prompt simple -rubygems -r ./lib/soup.rb&quot;
+# This task actually builds the gem. We also regenerate a static 
+# .gemspec file, which is useful if something (i.e. GitHub) will
+# be automatically building a gem for this project. If you're not
+# using GitHub, edit as appropriate.
+Rake::GemPackageTask.new(spec) do |pkg|
+  pkg.gem_spec = spec
+  
+  # Generate the gemspec file for github.
+  file = File.dirname(__FILE__) + &quot;/#{spec.name}.gemspec&quot;
+  File.open(file, &quot;w&quot;) {|f| f &lt;&lt; spec.to_ruby }
 end
 
-task :default =&gt; [:spec, :show_rcov]
\ No newline at end of file
+# Generate documentation
+Rake::RDocTask.new do |rd|
+  rd.main = &quot;README&quot;
+  rd.rdoc_files.include(&quot;README&quot;, &quot;lib/**/*.rb&quot;)
+  rd.rdoc_dir = &quot;rdoc&quot;
+end
+
+desc 'Clear out RDoc and generated packages'
+task :clean =&gt; [:clobber_rdoc, :clobber_package] do
+  rm &quot;#{spec.name}.gemspec&quot;
+end
+
+# If you want to publish to RubyForge automatically, here's a simple 
+# task to help do that. If you don't, just get rid of this.
+# Be sure to set up your Rubyforge account details with the Rubyforge
+# gem; you'll need to run `rubyforge setup` and `rubyforge config` at
+# the very least.
+begin
+  require &quot;rake/contrib/sshpublisher&quot;
+  namespace :rubyforge do
+    
+    desc &quot;Release gem and RDoc documentation to RubyForge&quot;
+    task :release =&gt; [&quot;rubyforge:release:gem&quot;, &quot;rubyforge:release:docs&quot;]
+    
+    namespace :release do
+      desc &quot;Release a new version of this gem&quot;
+      task :gem =&gt; [:package] do
+        require 'rubyforge'
+        rubyforge = RubyForge.new
+        rubyforge.configure
+        rubyforge.login
+        rubyforge.userconfig['release_notes'] = spec.summary
+        path_to_gem = File.join(File.dirname(__FILE__), &quot;pkg&quot;, &quot;#{spec.name}-#{spec.version}.gem&quot;)
+        puts &quot;Publishing #{spec.name}-#{spec.version.to_s} to Rubyforge...&quot;
+        rubyforge.add_release(spec.rubyforge_project, spec.name, spec.version.to_s, path_to_gem)
+      end
+    
+      desc &quot;Publish RDoc to RubyForge.&quot;
+      task :docs =&gt; [:rdoc] do
+        config = YAML.load(
+            File.read(File.expand_path('~/.rubyforge/user-config.yml'))
+        )
+ 
+        host = &quot;#{config['username']}@rubyforge.org&quot;
+        remote_dir = &quot;/var/www/gforge-projects/soup/&quot; # Should be the same as the rubyforge project name
+        local_dir = 'rdoc'
+ 
+        Rake::SshDirPublisher.new(host, remote_dir, local_dir).upload
+      end
+    end
+  end
+rescue LoadError
+  puts &quot;Rake SshDirPublisher is unavailable or your rubyforge environment is not configured.&quot;
+end
\ No newline at end of file</diff>
      <filename>Rakefile</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>8561c88f67bff26688b63f650d7897896414eb76</id>
    </parent>
  </parents>
  <author>
    <name>James Adam</name>
    <email>james@lazyatom.com</email>
  </author>
  <url>http://github.com/lazyatom/soup/commit/a664fb1cbab74399bc65207bb981945dff8b6642</url>
  <id>a664fb1cbab74399bc65207bb981945dff8b6642</id>
  <committed-date>2009-10-12T08:51:56-07:00</committed-date>
  <authored-date>2009-10-12T08:50:16-07:00</authored-date>
  <message>Updating Rake task to remove dependency on Echoe</message>
  <tree>bdc9815d2b0a5cfb60e1715c3ee72e8b4ddf0745</tree>
  <committer>
    <name>James Adam</name>
    <email>james@lazyatom.com</email>
  </committer>
</commit>
