<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -44,7 +44,13 @@ module DeepCloning
           association = association.keys.first
         end
         opts = deep_associations.blank? ? {} : {:include =&gt; deep_associations}
-        kopy.send(&quot;#{association}=&quot;, self.send(association).collect {|i| i.clone(opts) })
+        cloned_object = case self.class.reflect_on_association(association).macro
+                        when :belongs_to, :has_one
+                          self.send(association) &amp;&amp; self.send(association).clone(opts)
+                        when :has_many, :has_and_belongs_to_many
+                          self.send(association).collect { |obj| obj.clone(opts) }
+                        end
+        kopy.send(&quot;#{association}=&quot;, cloned_object)
       end
     end
 </diff>
      <filename>lib/deep_cloning.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>dec89e62995d1a84434f79d4eca1e5f6a0ffd63b</id>
    </parent>
  </parents>
  <author>
    <name>Jan De Poorter</name>
    <email>jan@defv.be</email>
  </author>
  <url>http://github.com/DefV/deep_cloning/commit/f0dcbeb47bcd54b65e49efd56293f97450693c29</url>
  <id>f0dcbeb47bcd54b65e49efd56293f97450693c29</id>
  <committed-date>2008-12-18T15:07:10-08:00</committed-date>
  <authored-date>2008-12-18T15:07:10-08:00</authored-date>
  <message>Make sure DeepCloning works with belongs_to and has_one associations</message>
  <tree>86b369c1ecc88d377838aa7e600aad95290c1ff3</tree>
  <committer>
    <name>Jan De Poorter</name>
    <email>jan@defv.be</email>
  </committer>
</commit>
