class ActiveStorage::Analyzer::ImageAnalyzer
Active Storage Image Analyzer¶ ↑
This is an abstract base class for image analyzers, which extract width and height from an image blob.
If the image contains EXIF data indicating its angle is 90 or 270 degrees, its width and height are swapped for convenience.
Example:
ActiveStorage::Analyzer::ImageAnalyzer::ImageMagick.new(blob).metadata # => { width: 4104, height: 2736 }
Public Class Methods
# File activestorage/lib/active_storage/analyzer/image_analyzer.rb, line 15 def self.accept?(blob) blob.image? end
Public Instance Methods
# File activestorage/lib/active_storage/analyzer/image_analyzer.rb, line 19 def metadata read_image do |image| if rotated_image?(image) { width: image.height, height: image.width } else { width: image.width, height: image.height } end end end