Class: ActiveStorage::Analyzer::ImageAnalyzer
- Inherits:
-
ActiveStorage::Analyzer
- Object
- ActiveStorage::Analyzer
- ActiveStorage::Analyzer::ImageAnalyzer
- Defined in:
- lib/active_storage/analyzer/image_analyzer.rb
Overview
Extracts width and height in pixels 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.new(blob).
# => { width: 4104, height: 2736 }
This analyzer relies on the third-party MiniMagick gem. MiniMagick requires the ImageMagick system library.
Instance Attribute Summary
Attributes inherited from ActiveStorage::Analyzer
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from ActiveStorage::Analyzer
Constructor Details
This class inherits a constructor from ActiveStorage::Analyzer
Class Method Details
.accept?(blob) ⇒ Boolean
16 17 18 |
# File 'lib/active_storage/analyzer/image_analyzer.rb', line 16 def self.accept?(blob) blob.image? end |
Instance Method Details
#metadata ⇒ Object
[View source]
20 21 22 23 24 25 26 27 28 |
# File 'lib/active_storage/analyzer/image_analyzer.rb', line 20 def read_image do |image| if rotated_image?(image) { width: image.height, height: image.width } else { width: image.width, height: image.height } end end end |