<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -30,12 +30,20 @@ class Net::SMTP
   end
 end
 
-# Wrap tests that use Mocha and skip if unavailable.
-def uses_mocha(test_name)
-  gem 'mocha', &quot;&gt;=0.9.0&quot;
+def uses_gem(gem_name, test_name, version = '&gt; 0')
+  require 'rubygems'
+  gem gem_name.to_s, version
+  require gem_name.to_s
   yield
-rescue Gem::LoadError
-  $stderr.puts &quot;Skipping #{test_name} tests (Mocha &gt;= 0.5 is required). `gem install mocha` and try again.&quot;
+rescue LoadError
+  $stderr.puts &quot;Skipping #{test_name} tests. `gem install #{gem_name}` and try again.&quot;
+end
+
+# Wrap tests that use Mocha and skip if unavailable.
+unless defined? uses_mocha
+  def uses_mocha(test_name, &amp;block)
+    uses_gem('mocha', test_name, '&gt;= 0.5.5', &amp;block)
+  end
 end
 
 def set_delivery_method(delivery_method)</diff>
      <filename>actionmailer/test/abstract_unit.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,14 +9,18 @@ require 'setter_trap'
 
 ActiveResource::Base.logger = Logger.new(&quot;#{File.dirname(__FILE__)}/debug.log&quot;)
 
+def uses_gem(gem_name, test_name, version = '&gt; 0')
+  require 'rubygems'
+  gem gem_name.to_s, version
+  require gem_name.to_s
+  yield
+rescue LoadError
+  $stderr.puts &quot;Skipping #{test_name} tests. `gem install #{gem_name}` and try again.&quot;
+end
+
 # Wrap tests that use Mocha and skip if unavailable.
-def uses_mocha(test_name)
-  unless Object.const_defined?(:Mocha)
-    require 'mocha'
-    require 'stubba'
+unless defined? uses_mocha
+  def uses_mocha(test_name, &amp;block)
+    uses_gem('mocha', test_name, '&gt;= 0.5.5', &amp;block)
   end
-  yield
-rescue LoadError =&gt; load_error
-  raise unless load_error.message =~ /mocha/i
-  $stderr.puts &quot;Skipping #{test_name} tests. `gem install mocha` and try again.&quot;
-end
\ No newline at end of file
+end</diff>
      <filename>activeresource/test/abstract_unit.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>8c2e839e5a0fb1662ae867c70114c3fc91850a55</id>
    </parent>
  </parents>
  <author>
    <name>Joshua Peek</name>
    <email>josh@joshpeek.com</email>
  </author>
  <url>http://github.com/azimux/rails/commit/b74b97fef5d94f91d6fbf9aec20516c7fe4ce24d</url>
  <id>b74b97fef5d94f91d6fbf9aec20516c7fe4ce24d</id>
  <committed-date>2008-07-19T09:14:12-07:00</committed-date>
  <authored-date>2008-07-19T09:14:12-07:00</authored-date>
  <message>Update uses_mocha in ActionMailer and ActiveResource</message>
  <tree>ecd858af818ff85eb36ef4b040de2440b87e5814</tree>
  <committer>
    <name>Joshua Peek</name>
    <email>josh@joshpeek.com</email>
  </committer>
</commit>
