class ActiveStorage::Transformers::Transformer
Active Storage Transformers Transformer
A Transformer applies a set of transformations to an image.
The following concrete subclasses are included in Active Storage:
-
ActiveStorage::Transformers::ImageProcessingTransformer: backed by ImageProcessing, a common interface for MiniMagick and ruby-vips
Attributes
Public Class Methods
Source
# File lib/active_storage/transformers/transformer.rb, line 16 def initialize(transformations) @transformations = transformations end
Public Instance Methods
Source
# File lib/active_storage/transformers/transformer.rb, line 23 def transform(file, format:) output = process(file, format: format) begin yield output ensure output.close! end end
Applies the transformations to the source image in file, producing a target image in the specified format. Yields an open Tempfile containing the target image. Closes and unlinks the output tempfile after yielding to the given block. Returns the result of the block.
Private Instance Methods
Source
# File lib/active_storage/transformers/transformer.rb, line 36 def process(file, format:) # :doc: raise NotImplementedError end
Returns an open Tempfile containing a transformed image in the given format. All subclasses implement this method.