class ActiveStorage::Analyzer
Анализатор Active Storage
Это абстрактный базовый класс для анализаторов, которые извлекают метаданные из блобов. Пример конкретного подкласса см. в ActiveStorage::Analyzer::VideoAnalyzer.
Атрибуты
Открытые методы класса
# 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.