класс ActiveStorage::Analyzer
Это абстрактный базовый класс для анализаторов, которые извлекают метаданные из блобов. См. ActiveStorage::Analyzer::ImageAnalyzer для примера конкретного подкласса.
Атрибуты
blob[R]
Публичные методы класса
# File activestorage/lib/active_storage/analyzer.rb, line 11 def self.accept?(blob) false end
Реализуйте этот метод в конкретном подклассе. Пусть он возвращает true, если переданный blob содержит метаданные, которые может извлечь анализатор.
# File activestorage/lib/active_storage/analyzer.rb, line 17 def self.analyze_later? true end
Реализуйте этот метод в конкретных подклассах. Он определит, следует ли анализировать blob в задаче или встраивать в поток. По умолчанию анализ помещается в очередь задач.
# 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
Загружает blob во временный файл на диске. Возвращает временный файл.
# 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–2020 David Heinemeier Hansson
Licensed under the MIT License.