about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2017-03-05 23:03:49 +0100
committerEugen Rochko <eugen@zeonfederated.com>2017-03-05 23:03:49 +0100
commitebc01bf0f61e58648ea7bfd4c915b4f373761e1d (patch)
tree1ecf34678650b7d7fb3058e36e7d15b0d7905973
parent85fce04d1b4353c3645c15967d222cdcdb488dfd (diff)
Make the paperclip filename interpolator smarter about the :original style
If an :original gets converted into another format, it would get saved as
original_filename *anyway*, so generating the extension is pointless and
yields bad results for when you change the style definition later. This way,
old gifs will still have correct URLs
-rw-r--r--config/initializers/paperclip.rb5
1 files changed, 5 insertions, 0 deletions
diff --git a/config/initializers/paperclip.rb b/config/initializers/paperclip.rb
index 71a7b514e..580a3196e 100644
--- a/config/initializers/paperclip.rb
+++ b/config/initializers/paperclip.rb
@@ -2,6 +2,11 @@
 
 Paperclip.options[:read_timeout] = 60
 
+Paperclip.interpolates :filename do |attachment, style|
+  return attachment.original_filename if style == :original
+  [basename(attachment, style), extension(attachment, style)].delete_if(&:empty?).join('.')
+end
+
 if ENV['S3_ENABLED'] == 'true'
   Aws.eager_autoload!(services: %w(S3))