method
read_image
v8.0.0 -
Show latest stable
- Class:
ActiveStorage::Analyzer::ImageAnalyzer::Vips
read_image()private
No documentation available.
# File activestorage/lib/active_storage/analyzer/image_analyzer/vips.rb, line 12
def read_image
begin
require "ruby-vips"
rescue LoadError
logger.info "Skipping image analysis because the ruby-vips gem isn't installed"
return {}
end
download_blob_to_tempfile do |file|
image = instrument("vips") do
# ruby-vips will raise Vips::Error if it can't find an appropriate loader for the file
::Vips::Image.new_from_file(file.path, access: :sequential)
rescue ::Vips::Error
logger.info "Skipping image analysis because Vips doesn't support the file"
nil
end
if image
yield image
else
{}
end
rescue ::Vips::Error => error
logger.error "Skipping image analysis due to an Vips error: #{error.message}"
{}
end
end