title: Copy All Styles of a Paperclip Attachment to New Object (S3)
body: <p>I have a model that uses Paperclip to handle images. When the image gets uploaded a preview is made for some javascript cropping and then a thumbnail and preview sizes are made from the chosen cropping. Giving us 3 images on S3 total:</p>
  
  <ul>
  <li>Original Image</li>
  <li>Preview (from the user selected cropping)</li>
  <li>Thumb (from the user selected cropping)</li>
  </ul>
  
  <p>The code in the model for the attachment is:</p>
  
  <pre><code>has_attached_file :picture, ASSET_INFO.merge(
    :whiny =&gt; false,
    :styles       =&gt; { :thumb =&gt; '200&gt;x200#', :preview =&gt; '400x300&gt;' },
    :processors   =&gt; [:jcropper],
    :preserve_files =&gt; true
  )
  </code></pre>
  
  <p>We have some functionality that allows a user to make a copy of an object for their own purposes and we want to copy the images over. I thought that just doing a simple</p>
  
  <pre><code>new_my_model.picture = original_my_model.picture if original_my_model.picture_file_name #no file name means no picture
  </code></pre>
  
  <p>would get the job done, and it does, but only kind of.</p>
  
  <p>It's copying the picture and then reprocessing the preview and thumbnails based on what's set up in the model.</p>
  
  <p>What I would like to do instead is copy all 3 existing images (original, thumb, and preview) to the new object as they are for the original one and then save them in the appropriate location on S3, skipping the resizing/cropping.</p>
  
  <p>Can anyone point me in the right direction? I've searched online and can't seem to find anything and everything I try doesn't seem to work. Doing a <code>.dup</code> on the original picture causes an exception, so that idea is out.</p>