Module: Shrine::Plugins::Signature

Defined in:
lib/shrine/plugins/signature.rb

Overview

Documentation lives in [doc/plugins/signature.md] on GitHub.

[doc/plugins/signature.md]: github.com/shrinerb/shrine/blob/master/doc/plugins/signature.md

Defined Under Namespace

Modules: ClassMethods, InstanceMethods Classes: SignatureCalculator

Constant Summary collapse

LOG_SUBSCRIBER =
-> (event) do
  Shrine.logger.info "Signature (#{event.duration}ms) – #{{
    io:        event[:io].class,
    algorithm: event[:algorithm],
    format:    event[:format],
    uploader:  event[:uploader],
  }.inspect}"
end
SUPPORTED_ALGORITHMS =
SignatureCalculator::SUPPORTED_ALGORITHMS
SUPPORTED_FORMATS =
SignatureCalculator::SUPPORTED_FORMATS

Class Method Summary collapse

Class Method Details

.configure(uploader, opts = {}) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/shrine/plugins/signature.rb', line 18

def self.configure(uploader, opts = {})
  uploader.opts[:signature] ||= { log_subscriber: LOG_SUBSCRIBER }
  uploader.opts[:signature].merge!(opts)

  # instrumentation plugin integration
  if uploader.respond_to?(:subscribe)
    uploader.subscribe(:signature, &uploader.opts[:signature][:log_subscriber])
  end
end