aboutsummaryrefslogtreecommitdiffstats
path: root/activestorage/lib/active_storage/analyzer/image_analyzer.rb
diff options
context:
space:
mode:
authorGeorge Claghorn <george@basecamp.com>2019-04-24 08:25:55 -0400
committerGitHub <noreply@github.com>2019-04-24 08:25:55 -0400
commitc7b03de1dd64b6d3ed0c098fea95b0e61cc83d0b (patch)
tree79f556b73d55ce61d13ade0afac48f4700269188 /activestorage/lib/active_storage/analyzer/image_analyzer.rb
parent5575bd7b22e8e11ba8e2fdac4a92aab931d4f9f9 (diff)
parent6133dad86970951094bdb4a603bc80c4968a9667 (diff)
downloadrails-c7b03de1dd64b6d3ed0c098fea95b0e61cc83d0b.tar.gz
rails-c7b03de1dd64b6d3ed0c098fea95b0e61cc83d0b.tar.bz2
rails-c7b03de1dd64b6d3ed0c098fea95b0e61cc83d0b.zip
Merge pull request #36072 from itsWill/dont_fail_on_unsuported_images
Don't fail ImageAnalyzer on unsupported types
Diffstat (limited to 'activestorage/lib/active_storage/analyzer/image_analyzer.rb')
-rw-r--r--activestorage/lib/active_storage/analyzer/image_analyzer.rb15
1 files changed, 11 insertions, 4 deletions
diff --git a/activestorage/lib/active_storage/analyzer/image_analyzer.rb b/activestorage/lib/active_storage/analyzer/image_analyzer.rb
index 3b39de91be..c8bc8fe953 100644
--- a/activestorage/lib/active_storage/analyzer/image_analyzer.rb
+++ b/activestorage/lib/active_storage/analyzer/image_analyzer.rb
@@ -25,17 +25,24 @@ module ActiveStorage
{ width: image.width, height: image.height }
end
end
- rescue LoadError
- logger.info "Skipping image analysis because the mini_magick gem isn't installed"
- {}
end
private
def read_image
download_blob_to_tempfile do |file|
require "mini_magick"
- yield MiniMagick::Image.new(file.path)
+ image = MiniMagick::Image.new(file.path)
+
+ if image.valid?
+ yield image
+ else
+ logger.info "Skipping image analysis because ImageMagick doesn't support the file"
+ {}
+ end
end
+ rescue LoadError
+ logger.info "Skipping image analysis because the mini_magick gem isn't installed"
+ {}
end
def rotated_image?(image)