module Shrine::Plugins::InferExtension::ClassMethods
Public Instance Methods
extension_inferrer(name)
click to toggle source
# File lib/shrine/plugins/infer_extension.rb, line 39 def extension_inferrer(name) ExtensionInferrer.new(name).method(:call) end
extension_inferrers()
click to toggle source
# File lib/shrine/plugins/infer_extension.rb, line 33 def extension_inferrers @extension_inferrers ||= ExtensionInferrer::SUPPORTED_TOOLS.inject({}) do |hash, tool| hash.merge!(tool => extension_inferrer(tool)) end end
infer_extension(mime_type)
click to toggle source
# File lib/shrine/plugins/infer_extension.rb, line 25 def infer_extension(mime_type) inferrer = opts[:infer_extension][:inferrer] inferrer = extension_inferrer(inferrer) if inferrer.is_a?(Symbol) args = [mime_type, extension_inferrers].take(inferrer.arity.abs) instrument_extension(mime_type) { inferrer.call(*args) } end
Private Instance Methods
instrument_extension(mime_type) { || ... }
click to toggle source
Sends a ‘extension.shrine` event for instrumentation plugin.
# File lib/shrine/plugins/infer_extension.rb, line 46 def instrument_extension(mime_type, &block) return yield unless respond_to?(:instrument) instrument(:extension, mime_type: mime_type, &block) end