module Shrine::Plugins::StoreDimensions
Documentation can be found on shrinerb.com/docs/plugins/store_dimensions
Constants
- LOG_SUBSCRIBER
Public Class Methods
configure(uploader, log_subscriber: LOG_SUBSCRIBER, **opts)
click to toggle source
# File lib/shrine/plugins/store_dimensions.rb, line 14 def self.configure(uploader, log_subscriber: LOG_SUBSCRIBER, **opts) uploader.opts[:store_dimensions] ||= { analyzer: :fastimage, on_error: :warn, auto_extraction: true } uploader.opts[:store_dimensions].merge!(opts) # resolve error strategy uploader.opts[:store_dimensions][:on_error] = case uploader.opts[:store_dimensions][:on_error] when :fail then -> (error) { fail error } when :warn then -> (error) { Shrine.warn "Error occurred when attempting to extract image dimensions: #{error.inspect}" } when :ignore then -> (error) { } else uploader.opts[:store_dimensions][:on_error] end # instrumentation plugin integration uploader.subscribe(:image_dimensions, &log_subscriber) if uploader.respond_to?(:subscribe) end