Module: Shrine::Plugins::InferExtension::InstanceMethods

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

Instance Method Summary collapse

Instance Method Details

#generate_location(io, context = {}) ⇒ Object



56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/shrine/plugins/infer_extension.rb', line 56

def generate_location(io, context = {})
  mime_type = (context[:metadata] || {})["mime_type"]

  location = super
  current_extension = File.extname(location)

  if current_extension.empty? || opts[:infer_extension][:force]
    inferred_extension = infer_extension(mime_type)
    location = location.chomp(current_extension) << inferred_extension unless inferred_extension.empty?
  end

  location
end