Paperclip Image Versioning

Hello. I’m hoping to hear your recommendations on using paperclip for
images with versioning.

Anyone know of any elegant paper_clip image, versioning implementation
solutions?

Thank you

Not elegant, but I did manage to get Paperclip to stop deleting or
overwriting the previous versions’ attachments (I am using
vestal_versions here for that part). The path I took was to patch
attachment.rb and storage.rb from Paperclip. In attachment, I look to
see if the instance was versioned, and if it was I would inject the
version number into the filename before Paperclip saved it. In the
same file, I patched the clear method to never delete an instance that
was versioned.

In storage.rb, I did the reverse, and let the flush_deletes method
remove a non-empty folder.

Both of these changes are fairly risky, in that they require the
parent model to have a version method, which I ended up having to
provide like this:

def version
false
end

in anything that had a file attachment but didn’t have versions. I’m
pretty sure this could be improved on a lot.

Walter

Thanks Walter, I appreciate the quick reply…

To your points, would highly like to avoid messing with paperclip or
vestal_versions.

What about creating a customer model to store photo versions like
PHOTO_VERSIONS

And then on any update, manually copy the previous photo record over
to PHOTO_VERSIONS?

Only thing I’m not sure about is paperclip would still delete the
photo from S3, so I’d have to recreate the photo? idk, it’s getting
messy.

Thoughts anyone?

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