method

read_image

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