class ActiveStorage::Analyzer
This is an abstract base class for analyzers, which extract metadata from blobs. See ActiveStorage::Analyzer::ImageAnalyzer for an example of a concrete subclass.
Attributes
blob[R]
Public Class Methods
# File activestorage/lib/active_storage/analyzer.rb, line 11 def self.accept?(blob) false end
Implement this method in a concrete subclass. Have it return true when given a blob from which the analyzer can extract metadata.
# File activestorage/lib/active_storage/analyzer.rb, line 15 def initialize(blob) @blob = blob end
Public Instance Methods
# File activestorage/lib/active_storage/analyzer.rb, line 20 def metadata raise NotImplementedError end
Override this method in a concrete subclass. Have it return a Hash of metadata.
Private Instance Methods
# File activestorage/lib/active_storage/analyzer.rb, line 26 def download_blob_to_tempfile(&block) #:doc: blob.open tmpdir: tmpdir, &block end
Downloads the blob to a tempfile on disk. Yields the tempfile.
# File activestorage/lib/active_storage/analyzer.rb, line 30 def logger #:doc: ActiveStorage.logger end
# File activestorage/lib/active_storage/analyzer.rb, line 34 def tmpdir #:doc: Dir.tmpdir end
© 2004–2019 David Heinemeier Hansson
Licensed under the MIT License.