класс ActiveStorage::Analyzer
Анализатор Active Storage
Это абстрактный базовый класс для анализаторов, которые извлекают метаданные из блоков. См. ActiveStorage::Analyzer::VideoAnalyzer для примера конкретного подкласса.
Атрибуты
blob[R]
Публичные методы класса
# File activestorage/lib/active_storage/analyzer.rb, line 13 def self.accept?(blob) false end
Реализуйте этот метод в конкретном подклассе. Возвращайте true, если для данного блока анализатор может извлечь метаданные.
# File activestorage/lib/active_storage/analyzer.rb, line 19 def self.analyze_later? true end
Реализуйте этот метод в конкретных подклассах. Он определит, следует ли проводить анализ блоков в задаче или встраивать его. По умолчанию анализ очередится в задаче.
# File activestorage/lib/active_storage/analyzer.rb, line 23 def initialize(blob) @blob = blob end
Публичные методы экземпляра
# File activestorage/lib/active_storage/analyzer.rb, line 28 def metadata raise NotImplementedError end
Переопределите этот метод в конкретном подклассе. Возвращайте Hash метаданных.
Приватные методы экземпляра
# File activestorage/lib/active_storage/analyzer.rb, line 34 def download_blob_to_tempfile(&block) # :doc: blob.open tmpdir: tmpdir, &block end
Загружает блок в временный файл на диске. Возвращает временный файл.
# File activestorage/lib/active_storage/analyzer.rb, line 46
def instrument(analyzer, &block) # :doc:
ActiveSupport::Notifications.instrument("analyze.active_storage", analyzer: analyzer, &block)
end # File activestorage/lib/active_storage/analyzer.rb, line 38 def logger # :doc: ActiveStorage.logger end
# File activestorage/lib/active_storage/analyzer.rb, line 42 def tmpdir # :doc: Dir.tmpdir end
© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.