summaryrefslogtreecommitdiffstats
path: root/lib/paperclip
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2018-07-14 03:56:52 +0200
committerGitHub <noreply@github.com>2018-07-14 03:56:52 +0200
commit5a6645c922a68ba4f56db5d0082cdc58bb1ac746 (patch)
treec80cf279aac9800637ab8b7fb650a32f196d32e7 /lib/paperclip
parente9b322d0a6bebe7d13a53a216482ecc364f18806 (diff)
Fix static GIFs being saved as empty files when using local storage (#8012)
Fix #7997 Fix #6237
Diffstat (limited to 'lib/paperclip')
-rw-r--r--lib/paperclip/gif_transcoder.rb16
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/paperclip/gif_transcoder.rb b/lib/paperclip/gif_transcoder.rb
index 62787983c47..cbab6fd99a2 100644
--- a/lib/paperclip/gif_transcoder.rb
+++ b/lib/paperclip/gif_transcoder.rb
@@ -5,14 +5,7 @@ module Paperclip
# to convert animated gifs to webm
class GifTranscoder < Paperclip::Processor
def make
- num_frames = identify('-format %n :file', file: file.path).to_i
-
- unless options[:style] == :original && num_frames > 1
- tmp_file = Paperclip::TempfileFactory.new.generate(attachment.instance.file_file_name)
- tmp_file << file.read
- tmp_file.flush
- return tmp_file
- end
+ return File.open(@file.path) unless needs_convert?
final_file = Paperclip::Transcoder.make(file, options, attachment)
@@ -22,5 +15,12 @@ module Paperclip
final_file
end
+
+ private
+
+ def needs_convert?
+ num_frames = identify('-format %n :file', file: file.path).to_i
+ options[:style] == :original && num_frames > 1
+ end
end
end