<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>adapters/dm-couchdb-adapter/tasks/install.rb</filename>
    </added>
    <added>
      <filename>adapters/dm-couchdb-adapter/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>adapters/dm-ferret-adapter/tasks/install.rb</filename>
    </added>
    <added>
      <filename>adapters/dm-ferret-adapter/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>adapters/dm-rest-adapter/tasks/install.rb</filename>
    </added>
    <added>
      <filename>adapters/dm-rest-adapter/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-adjust/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-adjust/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-aggregates/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-aggregates/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-ar-finders/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-ar-finders/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-cli/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-cli/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-constraints/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-is-example/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-is-example/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-is-list/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-is-list/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-is-nested_set/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-is-nested_set/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-is-remixable/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-is-remixable/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-is-searchable/TODO</filename>
    </added>
    <added>
      <filename>dm-is-searchable/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-is-searchable/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-is-state_machine/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-is-state_machine/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-is-tree/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-is-tree/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-is-versioned/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-is-versioned/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-is-viewable/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-is-viewable/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-migrations/tasks/db.rb</filename>
    </added>
    <added>
      <filename>dm-migrations/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-migrations/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-observer/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-observer/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-querizer/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-querizer/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-serializer/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-serializer/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-shorthand/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-shorthand/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-sweatshop/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-sweatshop/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-tags/LICENSE</filename>
    </added>
    <added>
      <filename>dm-tags/TODO</filename>
    </added>
    <added>
      <filename>dm-tags/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-tags/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-timestamps/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-timestamps/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-types/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-types/tasks/spec.rb</filename>
    </added>
    <added>
      <filename>dm-validations/tasks/install.rb</filename>
    </added>
    <added>
      <filename>dm-validations/tasks/spec.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -40,18 +40,18 @@ gems = gem_paths.map { |p| File.basename(p) }
 
 ROOT = Pathname(__FILE__).dirname.expand_path
 
-AUTHOR = &quot;Sam Smoot&quot;
-EMAIL  = &quot;ssmoot@gmail.com&quot;
-GEM_NAME = &quot;dm-more&quot;
+AUTHOR = 'Sam Smoot'
+EMAIL  = 'ssmoot [a] gmail [d] com'
+GEM_NAME = 'dm-more'
 GEM_VERSION = DataMapper::More::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;], *gems.map { |g| [g, &quot;~&gt;#{GEM_VERSION}&quot;] }]
 GEM_CLEAN = ['**/.DS_Store}', '*.db', &quot;doc/rdoc&quot;, &quot;.config&quot;, &quot;**/{coverage,log,pkg}&quot;, &quot;cache&quot;, &quot;lib/merb-more.rb&quot;]
 GEM_EXTRAS = { :has_rdoc =&gt; false }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://datamapper.org&quot;
-PROJECT_DESCRIPTION = &quot;Faster, Better, Simpler.&quot;
-PROJECT_SUMMARY = &quot;An Object/Relational Mapper for Ruby&quot;
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = 'http://github.com/sam/dm-more/tree/master'
+PROJECT_DESCRIPTION = 'Faster, Better, Simpler.'
+PROJECT_SUMMARY = 'An Object/Relational Mapper for Ruby'
 
 require ROOT + 'tasks/hoe'
 
@@ -60,12 +60,12 @@ SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
 
 desc &quot;Install it all&quot;
 task :install =&gt; [:install_gems, :package] do
-  sh %{#{SUDO} gem install --local pkg/dm-more-#{DataMapper::More::VERSION}.gem  --no-update-sources}
+  sh %{#{SUDO} gem install --local pkg/dm-more-#{GEM_VERSION}.gem  --no-update-sources}
 end
 
 desc &quot;Uninstall it all&quot;
 task :uninstall =&gt; [ :uninstall_gems, :clobber ] do
-  sh &quot;#{SUDO} gem uninstall dm-more -v#{DataMapper::More::VERSION} -I -x&quot;, :verbose =&gt; false rescue &quot;dm-more not installed&quot;
+  sh &quot;#{SUDO} gem uninstall dm-more -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false rescue &quot;dm-more not installed&quot;
 end
 
 desc &quot;Build the dm-more gems&quot;
@@ -105,7 +105,7 @@ end
 desc &quot;Bundle up all the dm-more gems&quot;
 task :bundle =&gt; [:package, :build_gems] do
   mkdir_p &quot;bundle&quot;
-  cp &quot;pkg/dm-more-#{DataMapper::More::VERSION}.gem&quot;, &quot;bundle&quot;
+  cp &quot;pkg/dm-more-#{GEM_VERSION}.gem&quot;, &quot;bundle&quot;
   gem_paths.each do |gem|
     File.open(&quot;#{gem}/Rakefile&quot;) do |rakefile|
       rakefile.read.detect {|l| l =~ /^VERSION\s*=\s*&quot;(.*)&quot;$/ }
@@ -116,16 +116,16 @@ end
 
 desc &quot;Release all dm-more gems&quot;
 task :release_all do
-  sh &quot;rake release VERSION=#{DataMapper::More::VERSION}; true&quot;
+  sh &quot;rake release VERSION=#{GEM_VERSION}; true&quot;
   gem_paths.each do |dir|
-    Dir.chdir(dir) { sh &quot;rake release VERSION=#{DataMapper::More::VERSION}; true&quot; }
+    Dir.chdir(dir) { sh &quot;rake release VERSION=#{GEM_VERSION}; true&quot; }
   end
 end
 
 %w[ ci spec clean clobber check_manifest ].each do |command|
   task command do
     gem_paths.each do |gem_name|
-      Dir.chdir(gem_name){ sh(&quot;rake #{command}; true&quot;) }
+      Dir.chdir(gem_name){ sh(&quot;rake #{command}&quot;) }
     end
   end
 end</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -17,3 +17,5 @@ spec/couchdb_view_spec.rb
 spec/spec.opts
 spec/spec_helper.rb
 spec/testfile.txt
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>adapters/dm-couchdb-adapter/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,53 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/couchdb_adapter/version'
 
-AUTHOR = &quot;Bernerd Schaefer&quot;
-EMAIL  = &quot;bj.schaefer@gmail.com&quot;
-GEM_NAME = &quot;dm-couchdb-adapter&quot;
-GEM_VERSION = DataMapper::More::CouchDBAdapter::VERSION
+AUTHOR = 'Bernerd Schaefer'
+EMAIL  = 'bernerd [a] wieck [d] com'
+GEM_NAME = 'dm-couchdb-adapter'
+GEM_VERSION = DataMapper::CouchDBAdapter::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;], ['mime-types', '~&gt;1.15']]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/adapters/dm-couchdb-adapter&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;CouchDB Adapter for DataMapper&quot;
-
-require ROOT.parent.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION}&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
-
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  if File.exists?('spec/spec.opts')
-    t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts'
-  end
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/adapters/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'CouchDB Adapter for DataMapper'
 
-  begin
-    t.rcov = ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true
-    t.rcov_opts &lt;&lt; '--exclude' &lt;&lt; 'spec'
-    t.rcov_opts &lt;&lt; '--text-summary'
-    t.rcov_opts &lt;&lt; '--sort' &lt;&lt; 'coverage' &lt;&lt; '--sort-reverse'
-  rescue Exception
-    # rcov not installed
-  end
+[ ROOT, ROOT.parent.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>adapters/dm-couchdb-adapter/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +0,0 @@
-TODO
-====
-
-
-
----
-TODO tickets may also be found in the DataMapper Issue Tracker:
-http://datamapper.lighthouseapp.com/</diff>
      <filename>adapters/dm-couchdb-adapter/TODO</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,5 @@
 module DataMapper
-  module More
-    class CouchDBAdapter
-      VERSION = '0.9.8'
-    end
+  class CouchDBAdapter
+    VERSION = '0.9.8'
   end
 end</diff>
      <filename>adapters/dm-couchdb-adapter/lib/couchdb_adapter/version.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>adapters/dm-couchdb-adapter/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -14,3 +14,5 @@ lib/ferret_adapter/version.rb
 spec/adapter_spec.rb
 spec/helper.rb
 spec/spec.opts
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>adapters/dm-ferret-adapter/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -13,7 +13,7 @@ inside your project's directory and then setting up the :search repository:
 
 = Sample Code
 
-require &quot;rubygems&quot;
+require 'rubygems'
 require &quot;dm-core&quot;
 require &quot;dm-is-searchable&quot;
 </diff>
      <filename>adapters/dm-ferret-adapter/README.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,53 +1,23 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/ferret_adapter/version'
 
-AUTHOR = &quot;Bernerd Schaefer&quot;
-EMAIL  = &quot;bernerd@wieck.com&quot;
-GEM_NAME = &quot;dm-ferret-adapter&quot;
-GEM_VERSION = DataMapper::More::FerretAdapter::VERSION
+AUTHOR = 'Bernerd Schaefer'
+EMAIL  = 'bernerd [a] wieck [d] com'
+GEM_NAME = 'dm-ferret-adapter'
+GEM_VERSION = DataMapper::FerretAdapter::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;], ['ferret', '~&gt;0.11.6']]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;]
-GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
-
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/adapters/dm-ferret-adapter&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;Ferret Adapter for DataMapper&quot;
-
-require ROOT.parent.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION}&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
+GEM_CLEAN = %w[ log pkg coverage ]
+GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] } #,
+#               :executables =&gt; %w[ ferret ], :bindir =&gt; 'bin' }  # FIXME: should this be enabled?
 
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  if File.exists?('spec/spec.opts')
-    t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts'
-  end
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/adapters/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'Ferret Adapter for DataMapper'
 
-  begin
-    t.rcov = ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true
-    t.rcov_opts &lt;&lt; '--exclude' &lt;&lt; 'spec'
-    t.rcov_opts &lt;&lt; '--text-summary'
-    t.rcov_opts &lt;&lt; '--sort' &lt;&lt; 'coverage' &lt;&lt; '--sort-reverse'
-  rescue Exception
-    # rcov not installed
-  end
+[ ROOT, ROOT.parent.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>adapters/dm-ferret-adapter/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +0,0 @@
-TODO
-====
-
-
-
----
-TODO tickets may also be found in the DataMapper Issue Tracker:
-http://datamapper.lighthouseapp.com/</diff>
      <filename>adapters/dm-ferret-adapter/TODO</filename>
    </modified>
    <modified>
      <diff>@@ -5,7 +5,7 @@ require &quot;drb&quot;
 require &quot;drb/unix&quot;
 require &quot;optparse&quot;
 require &quot;rinda/tuplespace&quot;
-require &quot;rubygems&quot;
+require 'rubygems'
 
 gem 'dm-core', '~&gt;0.9.8'
 require 'dm-core'</diff>
      <filename>adapters/dm-ferret-adapter/bin/ferret</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,5 @@
 module DataMapper
-  module More
-    class FerretAdapter
-      VERSION = '0.9.8'
-    end
+  class FerretAdapter
+    VERSION = '0.9.8'
   end
 end</diff>
      <filename>adapters/dm-ferret-adapter/lib/ferret_adapter/version.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-require &quot;pathname&quot;
+require 'pathname'
 require Pathname(__FILE__).dirname + &quot;helper&quot;
 
 class User</diff>
      <filename>adapters/dm-ferret-adapter/spec/adapter_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-require &quot;pathname&quot;
+require 'pathname'
 require Pathname(__FILE__).dirname.parent + &quot;lib/ferret_adapter&quot;
 
 require &quot;spec&quot;</diff>
      <filename>adapters/dm-ferret-adapter/spec/helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>adapters/dm-ferret-adapter/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -95,3 +95,5 @@ stories/resources/helpers/book.rb
 stories/resources/helpers/story_helper.rb
 stories/resources/steps/read.rb
 stories/resources/steps/using_rest_adapter.rb
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>adapters/dm-rest-adapter/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,45 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/rest_adapter/version'
 
-AUTHOR = &quot;Potomac Ruby Hackers&quot;
-EMAIL  = &quot;potomac-ruby-hackers@googlegroups.com&quot;
-GEM_NAME = &quot;dm-rest-adapter&quot;
-GEM_VERSION = DataMapper::More::RestAdapter::VERSION
+AUTHOR = 'Potomac Ruby Hackers'
+EMAIL  = 'potomac-ruby-hackers [a] googlegroups [d] com'
+GEM_NAME = 'dm-rest-adapter'
+GEM_VERSION = DataMapper::RestAdapter::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;]]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/pjb3/dm-more/tree/master/adapters/dm-rest-adapter&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;REST Adapter for DataMapper&quot;
-
-require ROOT.parent.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION}&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  if File.exists?('spec/spec.opts')
-    t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts'
-  end
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
-end
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/adapters/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'REST Adapter for DataMapper'
 
-desc &quot;Run all stories&quot;
-task :stories do
-  # TODO Re-migrate the book service or else you won't have test data!
-  ruby &quot;stories/all.rb --colour --format plain&quot;
+[ ROOT, ROOT.parent.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>adapters/dm-rest-adapter/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1 +0,0 @@
-TODO</diff>
      <filename>adapters/dm-rest-adapter/TODO</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,7 @@
-require 'rubygems'
+require 'net/http'
 require 'pathname'
-require Pathname(__FILE__).dirname + 'rest_adapter/version'
+require 'rexml/document'
+require 'rubygems'
 
 gem 'dm-core', '~&gt;0.9.8'
 require 'dm-core'
@@ -8,9 +9,10 @@ require 'dm-core'
 gem 'extlib', '~&gt;0.9.9'
 require 'extlib'
 
+#gem 'dm-serializer', '~&gt;0.9.8'
 require 'dm-serializer'
-require 'net/http'
-require 'rexml/document'
+
+require Pathname(__FILE__).dirname + 'rest_adapter/version'
 
 # TODO: Abstract XML support out from the protocol
 # TODO: Build JSON support</diff>
      <filename>adapters/dm-rest-adapter/lib/rest_adapter.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,5 @@
 module DataMapper
-  module More
-    class RestAdapter
-      VERSION = '0.9.8'
-    end
+  class RestAdapter
+    VERSION = '0.9.8'
   end
 end</diff>
      <filename>adapters/dm-rest-adapter/lib/rest_adapter/version.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,13 @@
 require 'pathname'
-require Pathname(__FILE__).dirname.parent.expand_path + 'lib/rest_adapter'
+require 'rubygems'
+
+ROOT = Pathname(__FILE__).dirname.parent.expand_path
+
+# use local dm-serializer if running from dm-more directly
+lib = ROOT.parent.parent.join('dm-serializer', 'lib').expand_path
+$LOAD_PATH.unshift(lib) if lib.directory?
+
+require ROOT + 'lib/rest_adapter'
 
 DataMapper.setup(:default, {
   :adapter  =&gt; 'rest',</diff>
      <filename>adapters/dm-rest-adapter/spec/spec_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,36 +2,36 @@ Story: remote app wants to create a resource
   As a remote app
   I want to create a resource
   So that I can store some data about a particular item
-  
-  Scenario: remote app supplies a new valid Resource 
+
+  Scenario: remote app supplies a new valid Resource
     Given a valid DataMapper::Resource
     When I try to save the Resource
     Then the Resource should save
 
-  Scenario: remote app supplies a new invalid Resource 
+  Scenario: remote app supplies a new invalid Resource
     Given a valid DataMapper::Resource
     When I make invalid changes to that Resource
     When I try to save the Resource
     Then the Resource should not save
-    
+
   Scenario: remote app supplies a new valid Resource associated with another new valid Resource
     Given a new Resource
     And another new Resource associated with the first
     When I try to save the first Resource
     Then both Resources should save
-    
+
   Scenario: remote app supplies a new invalid Resource associated with another new valid Resource
     Given a new invalid Resouce
     And another new Resource associated with the first
     When I try to save the first Resource
     Neither Resource should save
-    
+
   Scenario: remote app supplies a new valid Resource associated with another new invalid Resource
     Given a new Resource
     And another new invalid Resource associated with the first
     When I try to save the first Resource
     Neither Resource should save
-    
+
   Scenario: remote app supplies a new invalid Resource associated with another new invalid Resource
     Given a new invalid Resource
     And another new invalid Resource associated with the first</diff>
      <filename>adapters/dm-rest-adapter/stories/crud/create</filename>
    </modified>
    <modified>
      <diff>@@ -7,30 +7,30 @@ Story: remote app wants to access one or more Resources
     Given a type of Resource
     When I request all of the Resources of that type
     Then I should not receive an empty list
-    
+
   Scenario: GET &lt;resource&gt;/&lt;id&gt;
     Given a type of Resource
     And the ID of an existing Resource
     When I request the Resource
     Then I should receive that Resource
-    
+
   Scenario: GET &lt;resource&gt;/&lt;invalid id&gt;
     Given a type of Resource
     And the ID of a nonexistent Resource
     When I request the Resource
     Then I should get nothing in return
-  
+
   Scenario: GET &lt;nested resource&gt;/&lt;id&gt;
     Given a Resource that returns associated resources
     And the ID of an existing Resource that has associated Resources
-    And I have all of the necessary class definitions 
+    And I have all of the necessary class definitions
     When I GET &lt;nested resource&gt;/&lt;id&gt;
     Then I should get the Resource
     And the Resource will have associated Resources
-    
+
   Scenario: GET &lt;nested resource&gt;/&lt;id&gt; but we are missing some class definitions
     Given a Resource that returns associated resources
     And the ID of an existing Resource that has associated Resources
-    And I do not have all of the necessary class definitions 
+    And I do not have all of the necessary class definitions
     When I GET &lt;nested resource&gt;/&lt;id&gt;
     Then I should get an Exception
\ No newline at end of file</diff>
      <filename>adapters/dm-rest-adapter/stories/crud/read</filename>
    </modified>
    <modified>
      <diff>@@ -7,28 +7,28 @@ Story: remote app wants to update a resource
     Given a local representation of a remote Resource
     When I make valid changes to that Resource
     And I try to save the Resource
-    Then the Resource should save 
-    
+    Then the Resource should save
+
   Scenario: remote app updates with invalid changes to a resource's state
     Given a local representation of a remote Resource
     When I make invalid changes to that Resource
     And I try to save the Resource
     Then the Resource should not save
-    
+
   Scenario: remote app updates with changes to an object and one of its children
     Given a local representation of a remote Resource
     And a local representation of one of that Resource's child Resources
     When I make valid changes to the parent Resource
     And I make valid changes to the child Resource
     Then both Resources should save
-    
+
   Scenario: remote app updates with valid changes to an object and invalid changes to one of its children
     Given a local representation of a remote Resource
     And a local representation of one of that Resource's child Resources
     When I make valid changes to the parent Resource
     And I make invalid changes to the child Resource
     Then neither Resource should save
-  
+
   Scenario: remote app updates with invalid changes to an object and valid changes to one of its children
     Given a local representation of a remote Resource
     And a local representation of one of that Resource's child Resources
@@ -36,7 +36,7 @@ Story: remote app wants to update a resource
     And I make valid changes to the child Resource
     Then neither Resource should save
 
-  Scenario: remote app updates with invalid changes to an object and invalid changes to one of its children          
+  Scenario: remote app updates with invalid changes to an object and invalid changes to one of its children
     Given a local representation of a remote Resource
     And a local representation of one of that Resource's child Resources
     When I make invalid changes to the parent Resource</diff>
      <filename>adapters/dm-rest-adapter/stories/crud/update</filename>
    </modified>
    <modified>
      <diff>@@ -14,3 +14,5 @@ lib/dm-adjust/version.rb
 spec/integration/adjust_spec.rb
 spec/spec.opts
 spec/spec_helper.rb
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-adjust/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,53 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-adjust/version'
 
-AUTHOR = &quot;Sindre Aarsaether&quot;
-EMAIL  = &quot;sindre [a] identu [d] no&quot;
-GEM_NAME = &quot;dm-adjust&quot;
-GEM_VERSION = DataMapper::More::Adjust::VERSION
+AUTHOR = 'Sindre Aarsaether'
+EMAIL  = 'sindre [a] identu [d] no'
+GEM_NAME = 'dm-adjust'
+GEM_VERSION = DataMapper::Adjust::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;]]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-adjust&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;DataMapper plugin providing methods to increment and decrement properties&quot;
-
-require ROOT.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-namespace :jruby do
-  desc &quot;Install #{GEM_NAME} #{GEM_VERSION} with JRuby&quot;
-  task :install =&gt; [ :package ] do
-    sh %{#{SUDO} jruby -S gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources}, :verbose =&gt; false
-  end
-end
-
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts' if File.exists?('spec/spec.opts')
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'DataMapper plugin providing methods to increment and decrement properties'
 
-  begin
-    t.rcov = ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true
-    t.rcov_opts &lt;&lt; '--exclude' &lt;&lt; 'spec'
-    t.rcov_opts &lt;&lt; '--text-summary'
-    t.rcov_opts &lt;&lt; '--sort' &lt;&lt; 'coverage' &lt;&lt; '--sort-reverse'
-  rescue Exception
-    # rcov not installed
-  end
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-adjust/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +0,0 @@
-TODO
-====
-
----
-TODO tickets may also be found in the DataMapper Issue Tracker:
-http://datamapper.lighthouseapp.com/</diff>
      <filename>dm-adjust/TODO</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,5 @@
 module DataMapper
-  module More
-    module Adjust
-      VERSION = '0.9.8'
-    end
+  module Adjust
+    VERSION = '0.9.8'
   end
 end</diff>
      <filename>dm-adjust/lib/dm-adjust/version.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>dm-adjust/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -17,3 +17,5 @@ spec/public/model_spec.rb
 spec/public/shared/aggregate_shared_spec.rb
 spec/spec.opts
 spec/spec_helper.rb
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-aggregates/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,58 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-aggregates/version'
 
-AUTHOR = &quot;Foy Savas&quot;
-EMAIL  = &quot;foysavas@gmail.com&quot;
-GEM_NAME = &quot;dm-aggregates&quot;
-GEM_VERSION = DataMapper::More::Aggregates::VERSION
+AUTHOR = 'Foy Savas'
+EMAIL  = 'foysavas [a] gmail [d] com'
+GEM_NAME = 'dm-aggregates'
+GEM_VERSION = DataMapper::Aggregates::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;]]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-aggregates&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;DataMapper plugin providing support for aggregates, functions on collections and datasets&quot;
-
-require ROOT.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
-
-namespace :jruby do
-  desc &quot;Install #{GEM_NAME} #{GEM_VERSION} with JRuby&quot;
-  task :install =&gt; [ :package ] do
-    sh %{#{SUDO} jruby -S gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources}, :verbose =&gt; false
-  end
-end
-
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts' if File.exists?('spec/spec.opts')
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'DataMapper plugin providing support for aggregates, functions on collections and datasets'
 
-  begin
-    t.rcov = ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true
-    t.rcov_opts &lt;&lt; '--exclude' &lt;&lt; 'spec'
-    t.rcov_opts &lt;&lt; '--text-summary'
-    t.rcov_opts &lt;&lt; '--sort' &lt;&lt; 'coverage' &lt;&lt; '--sort-reverse'
-  rescue Exception
-    # rcov not installed
-  end
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-aggregates/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,5 @@
 module DataMapper
-  module More
-    module Aggregates
-      VERSION = '0.9.8'
-    end
+  module Aggregates
+    VERSION = '0.9.8'
   end
 end</diff>
      <filename>dm-aggregates/lib/dm-aggregates/version.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>dm-aggregates/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -9,3 +9,5 @@ lib/dm-ar-finders/version.rb
 spec/integration/ar-finders_spec.rb
 spec/spec.opts
 spec/spec_helper.rb
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-ar-finders/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,58 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-ar-finders/version'
 
-AUTHOR = &quot;John W Higgins&quot;
-EMAIL  = &quot;john@wishVPS.com&quot;
-GEM_NAME = &quot;dm-ar-finders&quot;
+AUTHOR = 'John W Higgins'
+EMAIL  = 'john [a] wishVPS [d] com'
+GEM_NAME = 'dm-ar-finders'
 GEM_VERSION = DataMapper::ARFinders::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;]]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-ar-finders&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;DataMapper plugin providing ActiveRecord-style finders&quot;
-
-require ROOT.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
-
-namespace :jruby do
-  desc &quot;Install #{GEM_NAME} #{GEM_VERSION} with JRuby&quot;
-  task :install =&gt; [ :package ] do
-    sh %{#{SUDO} jruby -S gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources}, :verbose =&gt; false
-  end
-end
-
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts' if File.exists?('spec/spec.opts')
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'DataMapper plugin providing ActiveRecord-style finders'
 
-  begin
-    t.rcov = ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true
-    t.rcov_opts &lt;&lt; '--exclude' &lt;&lt; 'spec'
-    t.rcov_opts &lt;&lt; '--text-summary'
-    t.rcov_opts &lt;&lt; '--sort' &lt;&lt; 'coverage' &lt;&lt; '--sort-reverse'
-  rescue Exception
-    # rcov not installed
-  end
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-ar-finders/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +0,0 @@
-TODO
-====
-
-
-
----
-TODO tickets may also be found in the DataMapper Issue Tracker:
-http://datamapper.lighthouseapp.com/</diff>
      <filename>dm-ar-finders/TODO</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>dm-ar-finders/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -11,3 +11,5 @@ lib/dm-cli/cli.rb
 lib/dm-cli/version.rb
 spec/spec.opts
 spec/unit/cli_spec.rb
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-cli/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,59 +1,23 @@
-require &quot;rubygems&quot;
-require &quot;spec&quot;
-require &quot;spec/rake/spectask&quot;
-require &quot;pathname&quot;
+require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-cli/version'
 
-AUTHOR = &quot;Wayne E. Seguin&quot;
-EMAIL  = &quot;john@wishVPS.com&quot;
-GEM_NAME = &quot;dm-cli&quot;
+AUTHOR = 'Wayne E. Seguin'
+EMAIL  = 'wayneeseguin [a] gmail [d] com'
+GEM_NAME = 'dm-cli'
 GEM_VERSION = DataMapper::CLI::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;]]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ],
-               :executables =&gt; %w[ dm ], :bindir =&gt; &quot;bin&quot; }
-
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-cli&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;DataMapper plugin allowing interaction with models through a CLI&quot;
-
-require ROOT.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? &quot;&quot; : (&quot;sudo&quot; unless ENV[&quot;SUDOLESS&quot;])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
-
-namespace :jruby do
-  desc &quot;Install #{GEM_NAME} #{GEM_VERSION} with JRuby&quot;
-  task :install =&gt; [ :package ] do
-    sh %{#{SUDO} jruby -S gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources}, :verbose =&gt; false
-  end
-end
+               :executables =&gt; %w[ dm ], :bindir =&gt; 'bin' }
 
-desc &quot;Run specifications&quot;
-Spec::Rake::SpecTask.new(:spec) do |t|
-  t.spec_opts &lt;&lt; &quot;--options&quot; &lt;&lt; &quot;spec/spec.opts&quot; if File.exists?(&quot;spec/spec.opts&quot;)
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'DataMapper plugin allowing interaction with models through a CLI'
 
-  begin
-    t.rcov = ENV.has_key?(&quot;NO_RCOV&quot;) ? ENV[&quot;NO_RCOV&quot;] != &quot;true&quot; : true
-    t.rcov_opts &lt;&lt; &quot;--exclude&quot; &lt;&lt; &quot;spec&quot;
-    t.rcov_opts &lt;&lt; &quot;--text-summary&quot;
-    t.rcov_opts &lt;&lt; &quot;--sort&quot; &lt;&lt; &quot;coverage&quot; &lt;&lt; &quot;--sort-reverse&quot;
-  rescue Exception
-    # rcov not installed
-  end
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-cli/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +0,0 @@
-TODO
-====
-
-
-
----
-TODO tickets may also be found in the DataMapper Issue Tracker:
-http://datamapper.lighthouseapp.com/</diff>
      <filename>dm-cli/TODO</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>dm-cli/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -12,8 +12,5 @@ lib/dm-constraints/version.rb
 spec/integration/constraints_spec.rb
 spec/spec.opts
 spec/spec_helper.rb
-tasks/ci.rb
-tasks/dm.rb
-tasks/doc.rb
-tasks/gemspec.rb
 tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-constraints/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,27 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-constraints/version'
 
-AUTHOR = &quot;Dirkjan Bussink&quot;
-EMAIL  = &quot;d.bussink@gmail.com&quot;
-GEM_NAME = &quot;dm-constraints&quot;
+AUTHOR = 'Dirkjan Bussink'
+EMAIL  = 'd.bussink [a] gmail [d] com'
+GEM_NAME = 'dm-constraints'
 GEM_VERSION = DataMapper::Constraints::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;]]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;, &quot;coverage&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-constraints&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;DataMapper plugin for performing validations on data models&quot;
-
-require ROOT.parent + 'tasks/hoe'
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'DataMapper plugin constraining relationships'
 
-require ROOT + 'tasks/gemspec'
-require ROOT + 'tasks/install'
-require ROOT + 'tasks/dm'
-require ROOT + 'tasks/doc'
-require ROOT + 'tasks/ci'
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
+end</diff>
      <filename>dm-constraints/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,3 +0,0 @@
-TODO
-====
-Everything :)</diff>
      <filename>dm-constraints/TODO</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>dm-constraints/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -1,20 +1,19 @@
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|bccwin|cygwin/) rescue nil
-SUDO = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
+WIN32 = Gem.win_platform?
+SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
 
-desc &quot;Install #{GEM_NAME}&quot;
-if WIN32
-  task :install =&gt; :gem do
-    system %{gem install --no-rdoc --no-ri -l pkg/#{GEM_NAME}-#{GEM_VERSION}.gem}
-  end
-  namespace :dev do
-    desc 'Install for development (for windows)'
-    task :winstall =&gt; :gem do
-      warn &quot;You can now call 'rake install' instead of 'rake dev:winstall'.&quot;
-      system %{gem install --no-rdoc --no-ri -l pkg/#{GEM_NAME}-#{GEM_VERSION}.gem}
-    end
-  end
-else
-  task :install =&gt; :package do
-    sh %{#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION}.gem}
+desc &quot;Install #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
+task :install =&gt; [ :package ] do
+  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
+end
+
+desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
+task :uninstall =&gt; [ :clobber ] do
+  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
+end
+
+namespace :jruby do
+  desc &quot;Install #{GEM_NAME} #{GEM_VERSION} with JRuby&quot;
+  task :install =&gt; [ :package ] do
+    sh %{#{SUDO} jruby -S gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources}, :verbose =&gt; false
   end
 end</diff>
      <filename>dm-constraints/tasks/install.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,51 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-is-example/is/version'
 
-AUTHOR = &quot;John Doe&quot;
-EMAIL  = &quot;john [a] doe [d] com&quot;
-GEM_NAME = &quot;dm-is-example&quot;
+AUTHOR = 'John Doe'
+EMAIL  = 'john [a] doe [d] com'
+GEM_NAME = 'dm-is-example'
 GEM_VERSION = DataMapper::Is::Example::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;]]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-is-example&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;Example of a DataMapper plugin&quot;
-
-require ROOT.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION}&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
-
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts' if File.exists?('spec/spec.opts')
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'Example of a DataMapper plugin'
 
-  begin
-    t.rcov = ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true
-    t.rcov_opts &lt;&lt; '--exclude' &lt;&lt; 'spec'
-    t.rcov_opts &lt;&lt; '--text-summary'
-    t.rcov_opts &lt;&lt; '--sort' &lt;&lt; 'coverage' &lt;&lt; '--sort-reverse'
-  rescue Exception
-    # rcov not installed
-  end
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-is-example/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +0,0 @@
-TODO
-====</diff>
      <filename>dm-is-example/TODO</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>dm-is-example/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -10,3 +10,5 @@ lib/dm-is-list/is/version.rb
 spec/integration/list_spec.rb
 spec/spec.opts
 spec/spec_helper.rb
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-is-list/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,49 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-is-list/is/version'
 
-AUTHOR = &quot;Sindre Aarsaether&quot;
-EMAIL  = &quot;sindre [a] identu [d] no&quot;
-GEM_NAME = &quot;dm-is-list&quot;
+AUTHOR = 'Sindre Aarsaether'
+EMAIL  = 'sindre [a] identu [d] no'
+GEM_NAME = 'dm-is-list'
 GEM_VERSION = DataMapper::Is::List::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;], ['dm-adjust', &quot;~&gt;#{GEM_VERSION}&quot;]]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-is-list&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;DataMapper plugin for creating and organizing lists&quot;
-
-require ROOT.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
-
-namespace :jruby do
-  desc &quot;Install #{GEM_NAME} #{GEM_VERSION} with JRuby&quot;
-  task :install =&gt; [ :package ] do
-    sh %{#{SUDO} jruby -S gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources}, :verbose =&gt; false
-  end
-end
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'DataMapper plugin for creating and organizing lists'
 
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts' if File.exists?('spec/spec.opts')
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-is-list/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,13 +1,12 @@
-
-require 'rubygems'
 require 'pathname'
+require 'rubygems'
 
 gem 'dm-core', '~&gt;0.9.8'
 require 'dm-core'
 
-gem 'dm-adjust', '~&gt;0.9.8'
+#gem 'dm-adjust', '~&gt;0.9.8'
 require 'dm-adjust'
 
-require Pathname(__FILE__).dirname.expand_path / 'dm-is-list' / 'is' / 'list.rb'
+require Pathname(__FILE__).dirname.expand_path / 'dm-is-list' / 'is' / 'list'
 
 DataMapper::Model.append_extensions DataMapper::Is::List</diff>
      <filename>dm-is-list/lib/dm-is-list.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>dm-is-list/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,13 @@ require 'rubygems'
 gem 'rspec', '~&gt;1.1.11'
 require 'spec'
 
-require Pathname(__FILE__).dirname.expand_path.parent + 'lib/dm-is-list'
+ROOT = Pathname(__FILE__).dirname.parent.expand_path
+
+# use local dm-adjust if running from dm-more directly
+lib = ROOT.parent.join('dm-adjust', 'lib').expand_path
+$LOAD_PATH.unshift(lib) if lib.directory?
+
+require ROOT + 'lib/dm-is-list'
 
 def load_driver(name, default_uri)
   return false if ENV['ADAPTER'] != name.to_s</diff>
      <filename>dm-is-list/spec/spec_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,3 +10,5 @@ lib/dm-is-nested_set/is/version.rb
 spec/integration/nested_set_spec.rb
 spec/spec.opts
 spec/spec_helper.rb
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-is-nested_set/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,58 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-is-nested_set/is/version'
 
-AUTHOR = &quot;Sindre Aarsaether&quot;
-EMAIL  = &quot;sindre [a] identu [d] no&quot;
-GEM_NAME = &quot;dm-is-nested_set&quot;
+AUTHOR = 'Sindre Aarsaether'
+EMAIL  = 'sindre [a] identu [d] no'
+GEM_NAME = 'dm-is-nested_set'
 GEM_VERSION = DataMapper::Is::NestedSet::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;], ['dm-adjust', &quot;~&gt;#{GEM_VERSION}&quot;]]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-is-nested_set&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;DataMapper plugin allowing the creation of nested sets from data models&quot;
-
-require ROOT.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
-
-namespace :jruby do
-  desc &quot;Install #{GEM_NAME} #{GEM_VERSION} with JRuby&quot;
-  task :install =&gt; [ :package ] do
-    sh %{#{SUDO} jruby -S gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources}, :verbose =&gt; false
-  end
-end
-
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts' if File.exists?('spec/spec.opts')
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'DataMapper plugin allowing the creation of nested sets from data models'
 
-  begin
-    t.rcov = ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true
-    t.rcov_opts &lt;&lt; '--exclude' &lt;&lt; 'spec'
-    t.rcov_opts &lt;&lt; '--text-summary'
-    t.rcov_opts &lt;&lt; '--sort' &lt;&lt; 'coverage' &lt;&lt; '--sort-reverse'
-  rescue Exception
-    # rcov not installed
-  end
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-is-nested_set/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,10 @@
-require 'rubygems'
 require 'pathname'
+require 'rubygems'
 
 gem 'dm-core', '~&gt;0.9.8'
 require 'dm-core'
 
-gem 'dm-adjust', '~&gt;0.9.8'
+#gem 'dm-adjust', '~&gt;0.9.8'
 require 'dm-adjust'
 
-require Pathname(__FILE__).dirname.expand_path / 'dm-is-nested_set' / 'is' / 'nested_set.rb'
+require Pathname(__FILE__).dirname.expand_path / 'dm-is-nested_set' / 'is' / 'nested_set'</diff>
      <filename>dm-is-nested_set/lib/dm-is-nested_set.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>dm-is-nested_set/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,13 @@ require 'rubygems'
 gem 'rspec', '~&gt;1.1.11'
 require 'spec'
 
-require Pathname(__FILE__).dirname.expand_path.parent + 'lib/dm-is-nested_set'
+ROOT = Pathname(__FILE__).dirname.parent.expand_path
+
+# use local dm-adjust if running from dm-more directly
+lib = ROOT.parent.join('dm-adjust', 'lib').expand_path
+$LOAD_PATH.unshift(lib) if lib.directory?
+
+require ROOT + 'lib/dm-is-nested_set'
 
 def load_driver(name, default_uri)
   return false if ENV['ADAPTER'] != name.to_s
@@ -12,7 +18,6 @@ def load_driver(name, default_uri)
   begin
     DataMapper.setup(name, ENV[&quot;#{name.to_s.upcase}_SPEC_URI&quot;] || default_uri)
     DataMapper::Repository.adapters[:default] =  DataMapper::Repository.adapters[name]
-    DataObjects::Sqlite3.logger = DataObjects::Logger.new(Pathname(__FILE__).dirname+'dm.log',0)
     true
   rescue LoadError =&gt; e
     warn &quot;Could not load do_#{name}: #{e}&quot;</diff>
      <filename>dm-is-nested_set/spec/spec_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -22,3 +22,5 @@ spec/data/viewable.rb
 spec/integration/remixable_spec.rb
 spec/spec.opts
 spec/spec_helper.rb
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-is-remixable/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,51 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-is-remixable/is/version'
 
 AUTHOR = &quot;Cory O'Daniel&quot;
-EMAIL  = &quot;dm-is-remixable [a] coryodaniel [d] com&quot;
-GEM_NAME = &quot;dm-is-remixable&quot;
+EMAIL  = 'dm-is-remixable [a] coryodaniel [d] com'
+GEM_NAME = 'dm-is-remixable'
 GEM_VERSION = DataMapper::Is::Remixable::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;]]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-remixes&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;dm-is-remixable allow you to create reusable data functionality&quot;
-
-require ROOT.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION}&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-ri --no-rdoc --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
-
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts' if File.exists?('spec/spec.opts')
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'dm-is-remixable allow you to create reusable data functionality'
 
-  begin
-    t.rcov = ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true
-    t.rcov_opts &lt;&lt; '--exclude' &lt;&lt; 'spec'
-    t.rcov_opts &lt;&lt; '--text-summary'
-    t.rcov_opts &lt;&lt; '--sort' &lt;&lt; 'coverage' &lt;&lt; '--sort-reverse'
-  rescue Exception
-    # rcov not installed
-  end
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-is-remixable/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,15 +1,11 @@
-# Needed to import datamapper and other gems
-require 'rubygems'
 require 'pathname'
+require 'rubygems'
 
-# Add all external dependencies for the plugin here
 gem 'dm-core', '~&gt;0.9.8'
 require 'dm-core'
 
-# Require plugin-files
-require Pathname(__FILE__).dirname.expand_path / 'dm-is-remixable' / 'is' / 'remixable.rb'
+require Pathname(__FILE__).dirname.expand_path / 'dm-is-remixable' / 'is' / 'remixable'
 
-# Include the plugin in Resource
 module DataMapper
   module Resource
     module ClassMethods</diff>
      <filename>dm-is-remixable/lib/dm-is-remixable.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>dm-is-remixable/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,13 @@ require 'rubygems'
 gem 'rspec', '~&gt;1.1.11'
 require 'spec'
 
-require Pathname(__FILE__).dirname.expand_path.parent + 'lib/dm-is-remixable'
+ROOT = Pathname(__FILE__).dirname.parent.expand_path
+
+# use local dm-types if running from dm-more directly
+lib = ROOT.parent.join('dm-types', 'lib').expand_path
+$LOAD_PATH.unshift(lib) if lib.directory?
+
+require ROOT + 'lib/dm-is-remixable'
 
 def load_driver(name, default_uri)
   return false if ENV['ADAPTER'] != name.to_s</diff>
      <filename>dm-is-remixable/spec/spec_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,8 +3,11 @@ LICENSE
 Manifest.txt
 README.txt
 Rakefile
+TODO
 lib/dm-is-searchable.rb
 lib/dm-is-searchable/is/searchable.rb
 lib/dm-is-searchable/is/version.rb
 spec/spec.opts
 spec/spec_helper.rb
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-is-searchable/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,51 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-is-searchable/is/version'
 
-AUTHOR = &quot;Bernerd Schaefer&quot;
-EMAIL  = &quot;bernerd [a] wieck [d] com&quot;
-GEM_NAME = &quot;dm-is-searchable&quot;
+AUTHOR = 'Bernerd Schaefer'
+EMAIL  = 'bernerd [a] wieck [d] com'
+GEM_NAME = 'dm-is-searchable'
 GEM_VERSION = DataMapper::Is::Searchable::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;]]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;]
-GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE ] }
-
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-is-searchable&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;A DataMapper plugin for searching&quot;
-
-require ROOT.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION}&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
+GEM_CLEAN = %w[ log pkg coverage ]
+GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts' if File.exists?('spec/spec.opts')
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'A DataMapper plugin for searching'
 
-  begin
-    t.rcov = ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true
-    t.rcov_opts &lt;&lt; '--exclude' &lt;&lt; 'spec'
-    t.rcov_opts &lt;&lt; '--text-summary'
-    t.rcov_opts &lt;&lt; '--sort' &lt;&lt; 'coverage' &lt;&lt; '--sort-reverse'
-  rescue Exception
-    # rcov not installed
-  end
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-is-searchable/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>dm-is-searchable/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -32,3 +32,5 @@ spec/unit/data/state_spec.rb
 spec/unit/dsl/event_dsl_spec.rb
 spec/unit/dsl/state_dsl_spec.rb
 spec/unit/state_machine_spec.rb
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-is-state_machine/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,51 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-is-state_machine/is/version'
 
-AUTHOR = &quot;David James&quot;
-EMAIL  = &quot;djwonk [a] collectiveinsight [d] net&quot;
-GEM_NAME = &quot;dm-is-state_machine&quot;
+AUTHOR = 'David James'
+EMAIL  = 'djwonk [a] collectiveinsight [d] net'
+GEM_NAME = 'dm-is-state_machine'
 GEM_VERSION = DataMapper::Is::StateMachine::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;]]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt README.markdown LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-is-state_machine&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;DataMapper plugin for creating state machines&quot;
-
-require ROOT.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION}&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
-
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts' if File.exists?('spec/spec.opts')
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'DataMapper plugin for creating state machines'
 
-  begin
-    t.rcov = ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true
-    t.rcov_opts &lt;&lt; '--exclude' &lt;&lt; 'spec'
-    t.rcov_opts &lt;&lt; '--text-summary'
-    t.rcov_opts &lt;&lt; '--sort' &lt;&lt; 'coverage' &lt;&lt; '--sort-reverse'
-  rescue Exception
-    # rcov not installed
-  end
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-is-state_machine/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>dm-is-state_machine/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -8,3 +8,5 @@ lib/dm-is-tree.rb
 lib/dm-is-tree/is/tree.rb
 lib/dm-is-tree/is/version.rb
 spec/spec.opts
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-is-tree/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,58 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-is-tree/is/version'
 
-AUTHOR = &quot;Timothy Bennett&quot;
-EMAIL  = &quot;leapord729@comcast.net&quot;
-GEM_NAME = &quot;dm-is-tree&quot;
+AUTHOR = 'Timothy Bennett'
+EMAIL  = 'leapord729 [a] comcast.net'
+GEM_NAME = 'dm-is-tree'
 GEM_VERSION = DataMapper::Is::Tree::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;]]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-is-tree&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;DataMapper plugin allowing the creation of tree structures from data models&quot;
-
-require ROOT.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
-
-namespace :jruby do
-  desc &quot;Install #{GEM_NAME} #{GEM_VERSION} with JRuby&quot;
-  task :install =&gt; [ :package ] do
-    sh %{#{SUDO} jruby -S gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources}, :verbose =&gt; false
-  end
-end
-
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts' if File.exists?('spec/spec.opts')
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'DataMapper plugin allowing the creation of tree structures from data models'
 
-  begin
-    t.rcov = ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true
-    t.rcov_opts &lt;&lt; '--exclude' &lt;&lt; 'spec'
-    t.rcov_opts &lt;&lt; '--text-summary'
-    t.rcov_opts &lt;&lt; '--sort' &lt;&lt; 'coverage' &lt;&lt; '--sort-reverse'
-  rescue Exception
-    # rcov not installed
-  end
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-is-tree/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,3 @@ TODO
 ====
 
  * dm-is-tree requires specs
-
----
-TODO tickets may also be found in the DataMapper Issue Tracker:
-http://datamapper.lighthouseapp.com/</diff>
      <filename>dm-is-tree/TODO</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>dm-is-tree/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -10,3 +10,5 @@ lib/dm-is-versioned/is/versioned.rb
 spec/spec.opts
 spec/spec_helper.rb
 spec/versioned_spec.rb
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-is-versioned/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,58 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-is-versioned/is/version'
 
-AUTHOR = &quot;Bernerd Schaefer&quot;
-EMAIL  = &quot;bj.schaefer@gmail.com&quot;
-GEM_NAME = &quot;dm-is-versioned&quot;
+AUTHOR = 'Bernerd Schaefer'
+EMAIL  = 'bernerd [a] wieck [d] com'
+GEM_NAME = 'dm-is-versioned'
 GEM_VERSION = DataMapper::Is::Versioned::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;]]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-is-versioned&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;DataMapper plugin enabling simple versioning of models&quot;
-
-require ROOT.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
-
-namespace :jruby do
-  desc &quot;Install #{GEM_NAME} #{GEM_VERSION} with JRuby&quot;
-  task :install =&gt; [ :package ] do
-    sh %{#{SUDO} jruby -S gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources}, :verbose =&gt; false
-  end
-end
-
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts' if File.exists?('spec/spec.opts')
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'DataMapper plugin enabling simple versioning of models'
 
-  begin
-    t.rcov = ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true
-    t.rcov_opts &lt;&lt; '--exclude' &lt;&lt; 'spec'
-    t.rcov_opts &lt;&lt; '--text-summary'
-    t.rcov_opts &lt;&lt; '--sort' &lt;&lt; 'coverage' &lt;&lt; '--sort-reverse'
-  rescue Exception
-    # rcov not installed
-  end
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-is-versioned/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>dm-is-versioned/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -12,3 +12,5 @@ spec/data/person.rb
 spec/integration/viewable_spec.rb
 spec/spec.opts
 spec/spec_helper.rb
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-is-viewable/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,51 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-is-viewable/is/version'
 
-AUTHOR = &quot;Cory ODaniel&quot;
-EMAIL  = &quot;dm-is-viewable@coryodaniel.com&quot;
-GEM_NAME = &quot;dm-is-viewable&quot;
+AUTHOR = &quot;Cory O'Daniel&quot;
+EMAIL  = 'dm-is-viewable [a] coryodaniel [d] com'
+GEM_NAME = 'dm-is-viewable'
 GEM_VERSION = DataMapper::Is::Viewable::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;]]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-is-viewable&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;Viewable of a DataMapper plugin&quot;
-
-require ROOT.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION}&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
-
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts' if File.exists?('spec/spec.opts')
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'Viewable of a DataMapper plugin'
 
-  begin
-    t.rcov = false #ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true
-    t.rcov_opts &lt;&lt; '--exclude' &lt;&lt; 'spec'
-    t.rcov_opts &lt;&lt; '--text-summary'
-    t.rcov_opts &lt;&lt; '--sort' &lt;&lt; 'coverage' &lt;&lt; '--sort-reverse'
-  rescue Exception
-    # rcov not installed
-  end
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-is-viewable/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +0,0 @@
-TODO
-====</diff>
      <filename>dm-is-viewable/TODO</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>dm-is-viewable/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -36,3 +36,6 @@ spec/unit/sql/table_creator_spec.rb
 spec/unit/sql/table_modifier_spec.rb
 spec/unit/sql/table_spec.rb
 spec/unit/sql_spec.rb
+tasks/db.rb
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-migrations/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,81 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-migrations/version'
 
-AUTHOR = &quot;Paul Sadauskas&quot;
-EMAIL  = &quot;psadauskas@gmail.com&quot;
-GEM_NAME = &quot;dm-migrations&quot;
+AUTHOR = 'Paul Sadauskas'
+EMAIL  = 'psadauskas [a] gmail [d] com'
+GEM_NAME = 'dm-migrations'
 GEM_VERSION = DataMapper::Migration::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;]]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-migrations&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;DataMapper plugin for writing and speccing migrations&quot;
-
-require ROOT.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
-
-namespace :jruby do
-  desc &quot;Install #{GEM_NAME} #{GEM_VERSION} with JRuby&quot;
-  task :install =&gt; [ :package ] do
-    sh %{#{SUDO} jruby -S gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources}, :verbose =&gt; false
-  end
-end
-
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts' if File.exists?('spec/spec.opts')
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
-
-  begin
-    t.rcov = ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true
-    t.rcov_opts &lt;&lt; '--exclude' &lt;&lt; 'spec'
-    t.rcov_opts &lt;&lt; '--text-summary'
-    t.rcov_opts &lt;&lt; '--sort' &lt;&lt; 'coverage' &lt;&lt; '--sort-reverse'
-  rescue Exception
-    # rcov not installed
-  end
-end
-
-namespace :db do
-
-  # pass the relative path to the migrations directory by MIGRATION_DIR
-  task :setup_migration_dir do
-    unless defined?(MIGRATION_DIR)
-      migration_dir = ENV[&quot;MIGRATION_DIR&quot;] || File.join(&quot;db&quot;, &quot;migrations&quot;)
-      MIGRATION_DIR = File.expand_path(File.join(File.dirname(__FILE__), migration_dir))
-    end
-    FileUtils.mkdir_p MIGRATION_DIR
-  end
-
-  # set DIRECTION to migrate down
-  desc &quot;Run your system's migrations&quot;
-  task :migrate =&gt; [:setup_migration_dir] do
-    require File.expand_path(File.join(File.dirname(__FILE__), &quot;lib&quot;, &quot;migration_runner.rb&quot;))
-    require File.expand_path(File.join(MIGRATION_DIR, &quot;config.rb&quot;))
-
-    Dir[File.join(MIGRATION_DIR, &quot;*.rb&quot;)].each { |file| require file }
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'DataMapper plugin for writing and speccing migrations'
 
-    ENV[&quot;DIRECTION&quot;] != &quot;down&quot; ? migrate_up! : migrate_down!
-  end
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-migrations/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +0,0 @@
-TODO
-====
-
-
-
----
-TODO tickets may also be found in the DataMapper Issue Tracker:
-http://datamapper.lighthouseapp.com/</diff>
      <filename>dm-migrations/TODO</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
 --colour
---format progress</diff>
      <filename>dm-migrations/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -9,3 +9,5 @@ lib/dm-observer/version.rb
 spec/integration/dm-observer_spec.rb
 spec/spec.opts
 spec/spec_helper.rb
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-observer/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,58 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-observer/version'
 
-AUTHOR = &quot;Mark Bates&quot;
-EMAIL  = &quot;mark@mackframework.com&quot;
-GEM_NAME = &quot;dm-observer&quot;
+AUTHOR = 'Mark Bates'
+EMAIL  = 'mark [a] mackframework [d] com'
+GEM_NAME = 'dm-observer'
 GEM_VERSION = DataMapper::Observer::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;]]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-observer&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;DataMapper plugin for observing Resource Models&quot;
-
-require ROOT.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
-
-namespace :jruby do
-  desc &quot;Install #{GEM_NAME} #{GEM_VERSION} with JRuby&quot;
-  task :install =&gt; [ :package ] do
-    sh %{#{SUDO} jruby -S gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources}, :verbose =&gt; false
-  end
-end
-
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts' if File.exists?('spec/spec.opts')
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'DataMapper plugin for observing Resource Models'
 
-  begin
-    t.rcov = ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true
-    t.rcov_opts &lt;&lt; '--exclude' &lt;&lt; 'spec'
-    t.rcov_opts &lt;&lt; '--text-summary'
-    t.rcov_opts &lt;&lt; '--sort' &lt;&lt; 'coverage' &lt;&lt; '--sort-reverse'
-  rescue Exception
-    # rcov not installed
-  end
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-observer/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>dm-observer/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -12,3 +12,5 @@ lib/dm-querizer/version.rb
 spec/querizer_spec.rb
 spec/spec.opts
 spec/spec_helper.rb
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-querizer/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,51 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-querizer/version'
 
-AUTHOR = &quot;Sindre Aarsaether&quot;
-EMAIL  = &quot;sindre [a] identu [d] no&quot;
-GEM_NAME = &quot;dm-querizer&quot;
+AUTHOR = 'Sindre Aarsaether'
+EMAIL  = 'sindre [a] identu [d] no'
+GEM_NAME = 'dm-querizer'
 GEM_VERSION = DataMapper::Querizer::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;]]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;, &quot;coverage&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-querizer&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;DataMapper plugin that provides a short rubyish query-syntax&quot;
-
-require ROOT.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION}&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
-
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts' if File.exists?('spec/spec.opts')
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'DataMapper plugin that provides a short rubyish query-syntax'
 
-  begin
-    t.rcov = ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true
-    t.rcov_opts &lt;&lt; '--exclude' &lt;&lt; 'spec'
-    t.rcov_opts &lt;&lt; '--text-summary'
-    t.rcov_opts &lt;&lt; '--sort' &lt;&lt; 'coverage' &lt;&lt; '--sort-reverse'
-  rescue Exception
-    # rcov not installed
-  end
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-querizer/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +0,0 @@
-TODO
-====</diff>
      <filename>dm-querizer/TODO</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>dm-querizer/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -11,11 +11,13 @@ lib/dm-serializer/version.rb
 spec/fixtures/cow.rb
 spec/fixtures/planet.rb
 spec/fixtures/quan_tum_cat.rb
-spec/spec.opts
-spec/spec_helper.rb
 spec/lib/serialization_method_shared_spec.rb
 spec/public/serializer_spec.rb
 spec/public/to_csv_spec.rb
 spec/public/to_json_spec.rb
 spec/public/to_xml_spec.rb
 spec/public/to_yaml_spec.rb
+spec/spec.opts
+spec/spec_helper.rb
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-serializer/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,58 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-serializer/version'
 
-AUTHOR = &quot;Guy van den Berg&quot;
-EMAIL  = &quot;vandenberg.guy@gmail.com&quot;
-GEM_NAME = &quot;dm-serializer&quot;
+AUTHOR = 'Guy van den Berg'
+EMAIL  = 'vandenberg.guy [a] gmail [d] com'
+GEM_NAME = 'dm-serializer'
 GEM_VERSION = DataMapper::Serializer::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;]]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;, &quot;coverage&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-serializer&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;DataMapper plugin for serializing DataMapper objects&quot;
-
-require ROOT.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
-
-namespace :jruby do
-  desc &quot;Install #{GEM_NAME} #{GEM_VERSION} with JRuby&quot;
-  task :install =&gt; [ :package ] do
-    sh %{#{SUDO} jruby -S gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources}, :verbose =&gt; false
-  end
-end
-
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts' if File.exists?('spec/spec.opts')
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'DataMapper plugin for serializing DataMapper objects'
 
-  begin
-    t.rcov = ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true
-    t.rcov_opts &lt;&lt; '--exclude' &lt;&lt; 'spec'
-    t.rcov_opts &lt;&lt; '--text-summary'
-    t.rcov_opts &lt;&lt; '--sort' &lt;&lt; 'coverage' &lt;&lt; '--sort-reverse'
-  rescue Exception
-    # rcov not installed
-  end
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-serializer/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +0,0 @@
-TODO
-====
-
-
-
----
-TODO tickets may also be found in the DataMapper Issue Tracker:
-http://datamapper.lighthouseapp.com/</diff>
      <filename>dm-serializer/TODO</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>dm-serializer/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -9,3 +9,5 @@ lib/dm-shorthand/version.rb
 spec/spec.opts
 spec/spec_helper.rb
 spec/unit/dm-shorthand.rb
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-shorthand/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,58 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-shorthand/version'
 
-AUTHOR = &quot;David Leal&quot;
-EMAIL  = &quot;dgleal@gmail.com&quot;
-GEM_NAME = &quot;dm-shorthand&quot;
+AUTHOR = 'David Leal'
+EMAIL  = 'dgleal [a] gmail [d] com'
+GEM_NAME = 'dm-shorthand'
 GEM_VERSION = DataMapper::Shorthand::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;]]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;, &quot;coverage&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-shorthand&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;DataMapper plugin providing shortcuts for using multiple repositories&quot;
-
-require ROOT.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
-
-namespace :jruby do
-  desc &quot;Install #{GEM_NAME} #{GEM_VERSION} with JRuby&quot;
-  task :install =&gt; [ :package ] do
-    sh %{#{SUDO} jruby -S gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources}, :verbose =&gt; false
-  end
-end
-
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts' if File.exists?('spec/spec.opts')
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'DataMapper plugin providing shortcuts for using multiple repositories'
 
-  begin
-    t.rcov = ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true
-    t.rcov_opts &lt;&lt; '--exclude' &lt;&lt; 'spec'
-    t.rcov_opts &lt;&lt; '--text-summary'
-    t.rcov_opts &lt;&lt; '--sort' &lt;&lt; 'coverage' &lt;&lt; '--sort-reverse'
-  rescue Exception
-    # rcov not installed
-  end
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-shorthand/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +0,0 @@
-TODO
-====
-
-
-
----
-TODO tickets may also be found in the DataMapper Issue Tracker:
-http://datamapper.lighthouseapp.com/</diff>
      <filename>dm-shorthand/TODO</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>dm-shorthand/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -14,3 +14,5 @@ spec/dm-sweatshop/sweatshop_spec.rb
 spec/dm-sweatshop/unique_spec.rb
 spec/spec.opts
 spec/spec_helper.rb
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-sweatshop/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,63 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-sweatshop/version'
 
-AUTHOR = &quot;Ben Burkert&quot;
-EMAIL  = &quot;ben@benburkert.com&quot;
-GEM_NAME = &quot;dm-sweatshop&quot;
+AUTHOR = 'Ben Burkert'
+EMAIL  = 'ben [a] benburkert [d] com'
+GEM_NAME = 'dm-sweatshop'
 GEM_VERSION = DataMapper::Sweatshop::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;], ['randexp', '~&gt;0.1.4']]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.textile LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-Sweatshop&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;DataMapper plugin for building pseudo random models&quot;
-
-require ROOT.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :install =&gt; [ :package, :install_randexp ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Install the randexp gem from rubyforge&quot;
-task :install_randexp do
-  sh &quot;#{SUDO} gem install randexp --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
-
-namespace :jruby do
-  desc &quot;Install #{GEM_NAME} #{GEM_VERSION} with JRuby&quot;
-  task :install =&gt; [ :package ] do
-    sh %{#{SUDO} jruby -S gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources}, :verbose =&gt; false
-  end
-end
-
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts' if File.exists?('spec/spec.opts')
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'DataMapper plugin for building pseudo random models'
 
-  begin
-    t.rcov = ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true
-    t.rcov_opts &lt;&lt; '--exclude' &lt;&lt; 'spec'
-    t.rcov_opts &lt;&lt; '--text-summary'
-    t.rcov_opts &lt;&lt; '--sort' &lt;&lt; 'coverage' &lt;&lt; '--sort-reverse'
-  rescue Exception
-    # rcov not installed
-  end
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-sweatshop/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>dm-sweatshop/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -1,11 +1,10 @@
 .gitignore
 History.txt
-License.txt
+LICENSE
 Manifest.txt
 README.txt
 Rakefile
-config/hoe.rb
-config/requirements.rb
+TODO
 lib/dm-tags.rb
 lib/dm-tags/dm_tags.rb
 lib/dm-tags/tag.rb
@@ -18,7 +17,5 @@ spec/dm-tags/tagging_spec.rb
 spec/dm-tags/updating_spec.rb
 spec/spec.opts
 spec/spec_helper.rb
-tasks/deployment.rake
-tasks/environment.rake
-tasks/rspec.rake
-tasks/website.rake
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-tags/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,26 +1,22 @@
-require 'config/requirements'
-require 'config/hoe' # setup Hoe + all gem configuration
+require 'pathname'
+require 'rubygems'
 
-Dir['tasks/**/*.rake'].each { |rake| load rake }
+ROOT = Pathname(__FILE__).dirname.expand_path
 
-GEM_VERSION = DataMapper::Tags::VERSION
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
+require ROOT + 'lib/dm-tags/version'
 
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
+AUTHOR = 'Bobby Calderwood'
+EMAIL  = 'bobby_calderwood [a] me [d] com'
+GEM_NAME = 'dm-tags'
+GEM_VERSION = DataMapper::Tags::VERSION
+GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;], ['dm-validations', &quot;~&gt;#{GEM_VERSION}&quot;]]
+GEM_CLEAN = %w[ log pkg coverage ]
+GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;This package brings tagging to DataMapper.  It is inspired by Acts As Taggable On by Michael Bleigh, github's mbleigh.  Props to him for the contextual tagging based on Acts As Taggable on Steroids.&quot;
 
-namespace :jruby do
-  desc &quot;Install #{GEM_NAME} #{GEM_VERSION} with JRuby&quot;
-  task :install =&gt; [ :package ] do
-    sh %{#{SUDO} jruby -S gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources}, :verbose =&gt; false
-  end
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-tags/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -4,11 +4,14 @@ require 'rubygems'
 gem 'dm-core', '~&gt;0.9.8'
 require 'dm-core'
 
-gem 'dm-validations', '~&gt;0.9.8'
+ROOT = Pathname(__FILE__).dirname.parent.expand_path
+
+# use local dm-validations if running from dm-more directly
+lib = ROOT.parent.join('dm-validations', 'lib').expand_path
+$LOAD_PATH.unshift(lib) if lib.directory?
 require 'dm-validations'
 
-spec_dir_path = Pathname(__FILE__).dirname.expand_path
-require spec_dir_path.parent + 'lib/dm-tags'
+require ROOT + 'lib/dm-tags'
 
 DataMapper.setup(:default, 'sqlite3::memory:')
 </diff>
      <filename>dm-tags/spec/spec_helper.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,3 +9,5 @@ lib/dm-timestamps/version.rb
 spec/integration/timestamps_spec.rb
 spec/spec.opts
 spec/spec_helper.rb
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-timestamps/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,58 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-timestamps/version'
 
-AUTHOR = &quot;Foy Savas&quot;
-EMAIL  = &quot;foysavas@gmail.com&quot;
-GEM_NAME = &quot;dm-timestamps&quot;
+AUTHOR = 'Foy Savas'
+EMAIL  = 'foysavas [a] gmail [d] com'
+GEM_NAME = 'dm-timestamps'
 GEM_VERSION = DataMapper::Timestamps::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;]]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;, &quot;coverage&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-timestamps&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;DataMapper plugin for magical timestamps&quot;
-
-require ROOT.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
-
-namespace :jruby do
-  desc &quot;Install #{GEM_NAME} #{GEM_VERSION} with JRuby&quot;
-  task :install =&gt; [ :package ] do
-    sh %{#{SUDO} jruby -S gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources}, :verbose =&gt; false
-  end
-end
-
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts' if File.exists?('spec/spec.opts')
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'DataMapper plugin for magical timestamps'
 
-  begin
-    t.rcov = ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true
-    t.rcov_opts &lt;&lt; '--exclude' &lt;&lt; 'spec'
-    t.rcov_opts &lt;&lt; '--text-summary'
-    t.rcov_opts &lt;&lt; '--sort' &lt;&lt; 'coverage' &lt;&lt; '--sort-reverse'
-  rescue Exception
-    # rcov not installed
-  end
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-timestamps/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +0,0 @@
-TODO
-====
-
-
-
----
-TODO tickets may also be found in the DataMapper Issue Tracker:
-http://datamapper.lighthouseapp.com/</diff>
      <filename>dm-timestamps/TODO</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>dm-timestamps/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -43,3 +43,5 @@ spec/unit/json_spec.rb
 spec/unit/regexp_spec.rb
 spec/unit/uri_spec.rb
 spec/unit/yaml_spec.rb
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-types/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,58 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-types/version'
 
-AUTHOR = &quot;Sam Smoot&quot;
-EMAIL  = &quot;ssmoot@gmail.com&quot;
-GEM_NAME = &quot;dm-types&quot;
+AUTHOR = 'Sam Smoot'
+EMAIL  = 'ssmoot [a] gmail [d] com'
+GEM_NAME = 'dm-types'
 GEM_VERSION = DataMapper::Types::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;], ['addressable', '~&gt;2.0.1']]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;, &quot;coverage&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-types&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;DataMapper plugin providing extra data types&quot;
-
-require ROOT.parent + 'tasks/hoe'
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
-
-namespace :jruby do
-  desc &quot;Install #{GEM_NAME} #{GEM_VERSION} with JRuby&quot;
-  task :install =&gt; [ :package ] do
-    sh %{#{SUDO} jruby -S gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources}, :verbose =&gt; false
-  end
-end
-
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts' if File.exists?('spec/spec.opts')
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'DataMapper plugin providing extra data types'
 
-  begin
-    t.rcov = ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true
-    t.rcov_opts &lt;&lt; '--exclude' &lt;&lt; 'spec'
-    t.rcov_opts &lt;&lt; '--text-summary'
-    t.rcov_opts &lt;&lt; '--sort' &lt;&lt; 'coverage' &lt;&lt; '--sort-reverse'
-  rescue Exception
-    # rcov not installed
-  end
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-types/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +0,0 @@
-TODO
-====
-
-
-
----
-TODO tickets may also be found in the DataMapper Issue Tracker:
-http://datamapper.lighthouseapp.com/</diff>
      <filename>dm-types/TODO</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>dm-types/spec/spec.opts</filename>
    </modified>
    <modified>
      <diff>@@ -46,3 +46,5 @@ spec/integration/validation_spec.rb
 spec/integration/within_validator_spec.rb
 spec/spec.opts
 spec/spec_helper.rb
+tasks/install.rb
+tasks/spec.rb</diff>
      <filename>dm-validations/Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,66 +1,22 @@
-require 'rubygems'
-require 'spec'
-require 'spec/rake/spectask'
 require 'pathname'
+require 'rubygems'
 
 ROOT = Pathname(__FILE__).dirname.expand_path
+
 require ROOT + 'lib/dm-validations/version'
 
-AUTHOR = &quot;Guy van den Berg&quot;
-EMAIL  = &quot;vandenberg.guy@gmail.com&quot;
-GEM_NAME = &quot;dm-validations&quot;
+AUTHOR = 'Guy van den Berg'
+EMAIL  = 'vandenberg.guy [a] gmail [d] com'
+GEM_NAME = 'dm-validations'
 GEM_VERSION = DataMapper::Validations::VERSION
 GEM_DEPENDENCIES = [['dm-core', &quot;~&gt;#{GEM_VERSION}&quot;]]
-GEM_CLEAN = [&quot;log&quot;, &quot;pkg&quot;, &quot;coverage&quot;]
+GEM_CLEAN = %w[ log pkg coverage ]
 GEM_EXTRAS = { :has_rdoc =&gt; true, :extra_rdoc_files =&gt; %w[ README.txt LICENSE TODO ] }
 
-PROJECT_NAME = &quot;datamapper&quot;
-PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/dm-validations&quot;
-PROJECT_DESCRIPTION = PROJECT_SUMMARY = &quot;DataMapper plugin for performing validations on data models&quot;
-
-require ROOT.parent + 'tasks/hoe'
-
-desc &quot;Generate Documentation&quot;
-rd = Rake::RDocTask.new do |rdoc|
-  rdoc.rdoc_dir = 'doc'
-  rdoc.title = &quot;DataMapper Validations&quot;
-  rdoc.options &lt;&lt; '--line-numbers' &lt;&lt; '--inline-source' &lt;&lt; '--main' &lt;&lt; 'README'
-  rdoc.rdoc_files.include(FileList[ 'lib/**/*.rb', 'README', 'LICENSE'])
-end
-
-task :default =&gt; [ :spec ]
-
-WIN32 = (RUBY_PLATFORM =~ /win32|mingw|cygwin/) rescue nil
-SUDO  = WIN32 ? '' : ('sudo' unless ENV['SUDOLESS'])
-
-desc &quot;Install #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :install =&gt; [ :package ] do
-  sh &quot;#{SUDO} gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources&quot;, :verbose =&gt; false
-end
-
-desc &quot;Uninstall #{GEM_NAME} #{GEM_VERSION} (default ruby)&quot;
-task :uninstall =&gt; [ :clobber ] do
-  sh &quot;#{SUDO} gem uninstall #{GEM_NAME} -v#{GEM_VERSION} -I -x&quot;, :verbose =&gt; false
-end
-
-namespace :jruby do
-  desc &quot;Install #{GEM_NAME} #{GEM_VERSION} with JRuby&quot;
-  task :install =&gt; [ :package ] do
-    sh %{#{SUDO} jruby -S gem install --local pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources}, :verbose =&gt; false
-  end
-end
-
-desc 'Run specifications'
-Spec::Rake::SpecTask.new(:spec) do |t|
-  t.spec_opts &lt;&lt; '--options' &lt;&lt; 'spec/spec.opts' if File.exists?('spec/spec.opts')
-  t.spec_files = Pathname.glob((ROOT + 'spec/**/*_spec.rb').to_s)
+PROJECT_NAME = 'datamapper'
+PROJECT_URL  = &quot;http://github.com/sam/dm-more/tree/master/#{GEM_NAME}&quot;
+PROJECT_DESCRIPTION = PROJECT_SUMMARY = 'DataMapper plugin for performing validations on data models'
 
-  begin
-    t.rcov = ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true
-    t.rcov_opts &lt;&lt; '--exclude' &lt;&lt; 'spec'
-    t.rcov_opts &lt;&lt; '--text-summary'
-    t.rcov_opts &lt;&lt; '--sort' &lt;&lt; 'coverage' &lt;&lt; '--sort-reverse'
-  rescue Exception
-    # rcov not installed
-  end
+[ ROOT, ROOT.parent ].each do |dir|
+  Pathname.glob(dir.join('tasks/**/*.rb').to_s).each { |f| require f }
 end</diff>
      <filename>dm-validations/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1 @@
---format specdoc
 --colour</diff>
      <filename>dm-validations/spec/spec.opts</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>dm-constraints/tasks/ci.rb</filename>
    </removed>
    <removed>
      <filename>dm-constraints/tasks/dm.rb</filename>
    </removed>
    <removed>
      <filename>dm-constraints/tasks/doc.rb</filename>
    </removed>
    <removed>
      <filename>dm-constraints/tasks/gemspec.rb</filename>
    </removed>
    <removed>
      <filename>dm-tags/License.txt</filename>
    </removed>
    <removed>
      <filename>dm-tags/config/hoe.rb</filename>
    </removed>
    <removed>
      <filename>dm-tags/config/requirements.rb</filename>
    </removed>
    <removed>
      <filename>dm-tags/tasks/deployment.rake</filename>
    </removed>
    <removed>
      <filename>dm-tags/tasks/environment.rake</filename>
    </removed>
    <removed>
      <filename>dm-tags/tasks/rspec.rake</filename>
    </removed>
    <removed>
      <filename>dm-tags/tasks/website.rake</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>e5de3bebbabf14f4881383aa6ffb86b9148a5388</id>
    </parent>
  </parents>
  <author>
    <name>Dan Kubb</name>
    <email>dan.kubb@autopilotmarketing.com</email>
  </author>
  <url>http://github.com/sam/dm-more/commit/f754848d1f74861d987e08a52beae1f142b6320e</url>
  <id>f754848d1f74861d987e08a52beae1f142b6320e</id>
  <committed-date>2008-12-06T19:51:12-08:00</committed-date>
  <authored-date>2008-12-06T19:51:12-08:00</authored-date>
  <message>[dm-more] Reorganized Rakefile and rake tasks

* Moved common spec and installation tasks into task/ subfolder within
  each plugin.
* Rakefile now includes everything in it's task dir, and the dm-more
  task dir.
* Updated trimmed-down Rakefile to be standarardized as much as possible
* Updated specs to use local versions of gems when possible.  This
  means dm-more's rake spec can run prior to installing any dm-more
  gems.
* Removed note in TODO about submitting TODO tickets to Lighthouse
* Obfuscated email addresses using similar notation in all Rakefiles</message>
  <tree>a32af45b1ed661b5dc1355e6f29690f6b95d137d</tree>
  <committer>
    <name>Dan Kubb</name>
    <email>dan.kubb@autopilotmarketing.com</email>
  </committer>
</commit>
