module Shrine::Plugins::Processing::InstanceMethods

Public Instance Methods

upload(io, process: true, **options) click to toggle source
Calls superclass method
# File lib/shrine/plugins/processing.rb, line 21
def upload(io, process: true, **options)
  if process
    input = process(io, **options)
  else
    input = io
  end

  super(input, **options)
end

Private Instance Methods

process(io, **options) click to toggle source
# File lib/shrine/plugins/processing.rb, line 33
def process(io, **options)
  pipeline = processing_pipeline(options[:action])
  pipeline.inject(io) do |input, processor|
    instance_exec(input, **options, &processor) || input
  end
end
processing_pipeline(key) click to toggle source
# File lib/shrine/plugins/processing.rb, line 40
def processing_pipeline(key)
  opts[:processing][key] || []
end