]> cat aescling's git repositories - mastodon.git/commitdiff
Fix static GIFs being saved as empty files when using local storage (#8012)
authorEugen Rochko <eugen@zeonfederated.com>
Sat, 14 Jul 2018 01:56:52 +0000 (03:56 +0200)
committerGitHub <noreply@github.com>
Sat, 14 Jul 2018 01:56:52 +0000 (03:56 +0200)
Fix #7997
Fix #6237

lib/paperclip/gif_transcoder.rb

index 62787983c472afcbee7d3c06ecbc156ae7c46bc1..cbab6fd99a29e7ac7f95a966c0614ee5f27904b9 100644 (file)
@@ -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