Sha256: b73bcb194a0dc370cf79d89b66144c6e9e813de8a6d2d94c03484460a428d326
Contents?: true
Size: 966 Bytes
Versions: 3
Compression:
Stored size: 966 Bytes
Contents
# frozen_string_literal: true module ActiveStorage # This is an abstract base class for analyzers, which extract metadata from blobs. See # ActiveStorage::Analyzer::ImageAnalyzer for an example of a concrete subclass. class Analyzer attr_reader :blob # Implement this method in a concrete subclass. Have it return true when given a blob from which # the analyzer can extract metadata. def self.accept?(blob) false end def initialize(blob) @blob = blob end # Override this method in a concrete subclass. Have it return a Hash of metadata. def metadata raise NotImplementedError end private # Downloads the blob to a tempfile on disk. Yields the tempfile. def download_blob_to_tempfile(&block) #:doc: blob.open tempdir: tempdir, &block end def logger #:doc: ActiveStorage.logger end def tempdir #:doc: Dir.tmpdir end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
activestorage-6.0.0.beta3 | lib/active_storage/analyzer.rb |
activestorage-6.0.0.beta2 | lib/active_storage/analyzer.rb |
activestorage-6.0.0.beta1 | lib/active_storage/analyzer.rb |