Monkey patch for Paperclip to prevent it from deleting attachment files in test mode

Hello,

For anyone who might stumble upon the following problem:

In my unit test, I’m checking if the deletion of a Paperclip attachment
on
my model actually works. However, when I call Object.save, my file is
deleted from disk! You don’t want this to happen in a test environment.
Inspired by some ideas on the interwebz, (specifically on the Stack
Overflow
site) I created this monkey patch.

lib/paperclip_monkey_patch.rb:

-- encoding : utf-8 --

Only in test mode do we prevent Paperclip from deleting attachments on

disk
module Paperclip
class Attachment
def clear
# nop
#raise “hell”
# op
instance_write(:file_name, nil)
instance_write(:content_type, nil)
instance_write(:file_size, nil)
instance_write(:updated_at, nil)
end
end
end

Then add this line at the top of any test file that deleted attachments:

require ‘paperclip_monkey_patch’

Now, when your attachments are deleted, the file they point to is not
deleted by Paperclip.

All the best,
CmdJohnson

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs