module Shrine::Plugins::Lambda

Constants

Error
SETTINGS
VERSION

Public Class Methods

configure(uploader, settings = {}) click to toggle source

If promoting was not yet overridden, it is set to automatically trigger Lambda processing defined in `Shrine#lambda_process`.

# File lib/shrine/plugins/shrine-lambda.rb, line 28
def self.configure(uploader, settings = {})
  SETTINGS.each do |key, value|
    raise Error, "The :#{key} option is required for Lambda plugin" if value == :required && settings[key].nil?

    uploader.opts[key] = settings.delete(key) if settings[key]
  end

  @logger = if Shrine.respond_to?(:logger)
              Shrine.logger
            elsif uploader.respond_to?(:logger)
              uploader.logger
            end

  uploader.opts[:backgrounding_promote] = proc { lambda_process }

  return unless @logger

  settings.each do |key, _value|
    @logger.info "The :#{key} option is not supported by the Lambda plugin"
  end
end
load_dependencies(uploader, _opts = {}) click to toggle source

It loads the backgrounding plugin, so that it can override promoting.

# File lib/shrine/plugins/shrine-lambda.rb, line 51
def self.load_dependencies(uploader, _opts = {})
  uploader.plugin :backgrounding
end