about summary refs log tree commit diff
path: root/lib/paperclip
diff options
context:
space:
mode:
authorThibaut Girka <thib@sitedethib.com>2018-07-15 18:17:37 +0200
committerThibaut Girka <thib@sitedethib.com>2018-07-16 14:50:42 +0200
commitf26f1145ac0fab4a657ee1fc784e824858601bd3 (patch)
tree3980b53a1440a8e6d4ee8c539668c3c190363017 /lib/paperclip
parent8e8491e1dab5e2ed98770710e0a32484de8530b3 (diff)
parent7a686082370ad6d1c7a7d0ad331c22bf3e1fbede (diff)
Merge branch 'master' into glitch-soc/merge-upstream
 Conflicts:
	Dockerfile
	app/javascript/packs/common.js
	config/webpack/loaders/sass.js
	config/webpack/shared.js
	db/schema.rb
	package.json
	yarn.lock

A lot of the conflicts come from updating webpack.

Even though upstream deleted app/javascript/packs/common.js, I kept
glitch-soc's version as it unifies JS/CSS packs behavior across flavours.

Ported glitch changes to webpack 4.x
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 62787983c..cbab6fd99 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