class MovieMasher::FileDownloadService
'downloads' assets via local file system
Public Instance Methods
download(options)
click to toggle source
# File service/local/file_download.rb, line 6 def download(options) cache_url_path = options[:path] source_path = options[:asset][:input_url].dup source_path['file://'] = '' if source_path.start_with?('file://') unless source_path.start_with?('/') source_path = File.expand_path(source_path) end unless File.exist?(source_path) raise(Error::JobInput, "file does not exist #{source_path}") end unless cache_url_path.start_with?('/') cache_url_path = File.expand_path(cache_url_path) end method = options[:source][:method] case method when Method::COPY FileUtils.copy(source_path, cache_url_path) when Method::MOVE FileUtils.move(source_path, cache_url_path) else # Method::SYMLINK FileUtils.symlink(source_path, cache_url_path) end return if File.size?(cache_url_path) msg = "could not #{method} #{source_path} to #{cache_url_path}" raise(Error::JobInput, msg) end