class ActiveStorage::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
transformations[R]
Public Class Methods
new(transformations)
click to toggle source
# File lib/active_storage/transformers/transformer.rb, line 13 def initialize(transformations) @transformations = transformations end
Public Instance Methods
transform(file, format:) { |output| ... }
click to toggle source
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.
# File lib/active_storage/transformers/transformer.rb, line 20 def transform(file, format:) output = process(file, format: format) begin yield output ensure output.close! end end
Private Instance Methods
process(file, format:)
click to toggle source
Returns an open Tempfile containing a transformed image in the given
format. All subclasses implement this method.
# File lib/active_storage/transformers/transformer.rb, line 33 def process(file, format:) # :doc: raise NotImplementedError end