 <p>@jon-m answer needs to be updated to reflect the latest changes to paperclip, in order for this to work needs to change to something like:</p> <pre><code>class Document has_attached_file :revision def revision_contents(path = 'tmp/tmp.any') revision.copy_to_local_file :original, path File.open(path).read end end </code></pre> <p>A bit convoluted as @jwadsack mentioned using <code>Paperclip.io_adapters.for</code> method accomplishes the same and seems like a better, cleaner way to do this IMHO.</p>