Module: Shrine::Plugins::InferExtension::ClassMethods
- Defined in:
- lib/shrine/plugins/infer_extension.rb
Instance Method Summary collapse
- #extension_inferrer(name) ⇒ Object
- #extension_inferrers ⇒ Object
- #infer_extension(mime_type) ⇒ Object
Instance Method Details
#extension_inferrer(name) ⇒ Object
41 42 43 |
# File 'lib/shrine/plugins/infer_extension.rb', line 41 def extension_inferrer(name) ExtensionInferrer.new(name).method(:call) end |
#extension_inferrers ⇒ Object
35 36 37 38 39 |
# File 'lib/shrine/plugins/infer_extension.rb', line 35 def extension_inferrers @extension_inferrers ||= ExtensionInferrer::SUPPORTED_TOOLS.inject({}) do |hash, tool| hash.merge!(tool => extension_inferrer(tool)) end end |
#infer_extension(mime_type) ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/shrine/plugins/infer_extension.rb', line 27 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 |