<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -37,6 +37,7 @@ module Merger
     def merge!
       keep.class.transaction do
         associations!
+        duplicates.each {|duplicate| duplicate.send(:merged_with, keep) if duplicate.respond_to?(:merged_with) }
         duplicates.each(&amp;:destroy) if options[:destroy]
       end
     end</diff>
      <filename>lib/merger/merge.rb</filename>
    </modified>
    <modified>
      <diff>@@ -74,4 +74,9 @@ class Merger::MergeTest &lt; Test::Unit::TestCase
     Merger::Merge.new(people(:original), people(:duplicate), :destroy =&gt; false).merge!
     assert_not_nil Person.find_by_id(people(:duplicate).id)
   end
+  
+  def test_merged_with_callback
+    people(:duplicate).expects(:merged_with).with(people(:original))
+    @merge.merge!
+  end
 end
\ No newline at end of file</diff>
      <filename>test/merger/merge_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -2,6 +2,7 @@ $:.unshift(File.dirname(__FILE__) + '/../lib')
 
 require 'rubygems'
 require 'test/unit'
+require 'mocha'
 require 'multi_rails_init'
 require 'active_record' 
 require 'active_record/fixtures'</diff>
      <filename>test/test_helper.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>07fa702d142f366a2faeff23d47711210bac6067</id>
    </parent>
  </parents>
  <author>
    <name>Jean-Francois Couture</name>
    <email>jfcouture@gmail.com</email>
  </author>
  <url>http://github.com/collectiveidea/merger/commit/32f2fbc133daf31a849f3152e1c512895faad120</url>
  <id>32f2fbc133daf31a849f3152e1c512895faad120</id>
  <committed-date>2009-04-24T06:07:47-07:00</committed-date>
  <authored-date>2009-04-16T08:32:34-07:00</authored-date>
  <message>added simple callback merged_with:

if the model has a merged_with(record), it will get called after the merge
useful with the :destroy =&gt; false options if you want to keep the model
for historical purpose or as a safety precaution</message>
  <tree>1d9891de9be5cc754434b5d74be436a7b683f5f7</tree>
  <committer>
    <name>Brandon Keepers</name>
    <email>brandon@collectiveidea.com</email>
  </committer>
</commit>
