Class: CarrierWave::Uploader::Download::RemoteFile

Inherits:
Object
  • Object
show all
Defined in:
lib/carrierwave/uploader/download.rb

Instance Method Summary collapse

Constructor Details

#initialize(uri, remote_headers = {}) ⇒ RemoteFile



13
14
15
16
# File 'lib/carrierwave/uploader/download.rb', line 13

def initialize(uri, remote_headers = {})
  @uri = uri
  @remote_headers = remote_headers
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(*args, &block) ⇒ Object (private)



58
59
60
# File 'lib/carrierwave/uploader/download.rb', line 58

def method_missing(*args, &block)
  file.send(*args, &block)
end

Instance Method Details

#http?Boolean



31
32
33
# File 'lib/carrierwave/uploader/download.rb', line 31

def http?
  @uri.scheme =~ /^https?$/
end

#original_filenameObject



18
19
20
21
22
23
24
25
# File 'lib/carrierwave/uploader/download.rb', line 18

def original_filename
  filename = filename_from_header || File.basename(file.base_uri.path)
  mime_type = MIME::Types[file.content_type].first
  unless File.extname(filename).present? || mime_type.blank?
    filename = "#{filename}.#{mime_type.extensions.first}"
  end
  filename
end

#respond_to?(*args) ⇒ Boolean



27
28
29
# File 'lib/carrierwave/uploader/download.rb', line 27

def respond_to?(*args)
  super or file.respond_to?(*args)
end