<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>examples/lib/datamapper.rb</filename>
    </added>
    <added>
      <filename>lib/database_cleaner/data_mapper/truncation.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -14,3 +14,5 @@ Feature: database cleaning
     | ORM          | Strategy      |
     | ActiveRecord | transaction   |
     | ActiveRecord | truncation    |
+    | DataMapper   | transaction   |
+    | DataMapper   | truncation    |
\ No newline at end of file</diff>
      <filename>features/cleaning.feature</filename>
    </modified>
    <modified>
      <diff>@@ -12,7 +12,7 @@ module DatabaseCleaner
 
   module DataMapper
     def self.available_strategies
-      %w[]
+      %w[truncation transaction]
     end
   end
 
@@ -69,14 +69,14 @@ module DatabaseCleaner
 
     def orm
       @orm ||=begin
-                 if defined? ::ActiveRecord
-                  'active_record'
-                elsif defined? ::DataMapper
-                  'data_mapper'
-                else
-                  raise NoORMDetected, &quot;No known ORM was detected!  Is ActiveRecord or DataMapper loaded?&quot;
-                end
-              end
+        if defined? ::ActiveRecord
+          'active_record'
+        elsif defined? ::DataMapper
+          'data_mapper'
+        else
+          raise NoORMDetected, &quot;No known ORM was detected!  Is ActiveRecord or DataMapper loaded?&quot;
+        end
+      end
     end
 
 </diff>
      <filename>lib/database_cleaner/configuration.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,23 @@
 module DatabaseCleaner::DataMapper
   class Transaction
 
-  end
+    def start(repo = :default)
+      repository(repo) do |r|
+        transaction = DataMapper::Transaction.new(r)
+        transaction.begin
+        r.adapter.push_transaction(transaction)
+      end
+    end
+
+    def clean(repo = :default)
+      repository(repo) do |r|
+        adapter = r.adapter
+        while adapter.current_transaction
+          adapter.current_transaction.rollback
+          adapter.pop_transaction
+        end
+      end
+    end
 
+  end
 end</diff>
      <filename>lib/database_cleaner/data_mapper/transaction.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>af6237d95f15e78e1bbd7c5cf94ff9ba9870e247</id>
    </parent>
  </parents>
  <author>
    <name>snusnu</name>
    <email>gamsnjaga@gmail.com</email>
  </author>
  <url>http://github.com/bmabey/database_cleaner/commit/63147b21cefca764075af50f54834dc33059682d</url>
  <id>63147b21cefca764075af50f54834dc33059682d</id>
  <committed-date>2009-05-05T08:06:02-07:00</committed-date>
  <authored-date>2009-05-05T08:06:02-07:00</authored-date>
  <message>basic support for transaction/truncation with datamapper</message>
  <tree>6fb1860890f606d869be350a9f43c26a9e8d640b</tree>
  <committer>
    <name>snusnu</name>
    <email>gamsnjaga@gmail.com</email>
  </committer>
</commit>
