класс ActiveStorage::Transformers::Transformer
Преобразователь Transformer применяет набор преобразований к изображению.
В Active Storage включены следующие конкретные подклассы:
-
ActiveStorage::Transformers::ImageProcessingTransformer: основан на ImageProcessing, общем интерфейсе для MiniMagick и ruby-vips
-
ActiveStorage::Transformers::MiniMagickTransformer: основан на MiniMagick, обёртке вокруг ImageMagick CLI
Атрибуты
Публичные методы класса
# File activestorage/lib/active_storage/transformers/transformer.rb, line 17 def initialize(transformations) @transformations = transformations end
Публичные методы экземпляра
# File activestorage/lib/active_storage/transformers/transformer.rb, line 24
def transform(file, format:)
output = process(file, format: format)
begin
yield output
ensure
output.close!
end
end Применяет преобразования к исходному изображению в file, создавая целевое изображение в указанном format. Возвращает открытый Tempfile, содержащий целевое изображение. Закрывает и удаляет выходной tempfile после вызова заданного блока. Возвращает результат блока.
Приватные методы экземпляра
# File activestorage/lib/active_storage/transformers/transformer.rb, line 37 def process(file, format:) #:doc: raise NotImplementedError end
Возвращает открытый Tempfile, содержащий преобразованное изображение в заданном format. Все подклассы реализуют этот метод.
© 2004–2019 David Heinemeier Hansson
Licensed under the MIT License.