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