diff options
author | George Claghorn <george@basecamp.com> | 2019-04-24 08:25:55 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-24 08:25:55 -0400 |
commit | c7b03de1dd64b6d3ed0c098fea95b0e61cc83d0b (patch) | |
tree | 79f556b73d55ce61d13ade0afac48f4700269188 /activestorage/lib/active_storage/analyzer/image_analyzer.rb | |
parent | 5575bd7b22e8e11ba8e2fdac4a92aab931d4f9f9 (diff) | |
parent | 6133dad86970951094bdb4a603bc80c4968a9667 (diff) | |
download | rails-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.rb | 15 |
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) |