Sha256: 5e3ad59ef51180418663240a330b04665e990b56a251215a86bf4e2daed226e1
Contents?: true
Size: 1.49 KB
Versions: 1
Compression:
Stored size: 1.49 KB
Contents
require 'cgi' require 'fileutils' require 'find' require 'fig/file_not_found_error' require 'fig/logging' require 'fig/protocol' module Fig; end module Fig::Protocol; end # File transfers for the local filesystem. class Fig::Protocol::File include Fig::Protocol def download_list(uri) packages = [] unescaped_path = CGI.unescape uri.path return packages if ! ::File.exist?(unescaped_path) ls = '' Find.find(unescaped_path) { |file| ls << file.to_s; ls << "\n" } strip_paths_for_list(ls, packages, unescaped_path) return packages end # Determine whether we need to update something. Returns nil to indicate # "don't know". def path_up_to_date?(uri, path) begin unescaped_path = CGI.unescape uri.path if ::File.mtime(unescaped_path) <= ::File.mtime(path) return true end return false rescue Errno::ENOENT => error raise Fig::FileNotFoundError.new error.message, uri end end # Returns whether the file was not downloaded because the file already # exists and is already up-to-date. def download(uri, path) begin unescaped_path = CGI.unescape uri.path FileUtils.cp(unescaped_path, path) return true rescue Errno::ENOENT => error raise Fig::FileNotFoundError.new error.message, uri end end def upload(local_file, uri) unescaped_path = CGI.unescape uri.path FileUtils.mkdir_p(::File.dirname(unescaped_path)) FileUtils.cp(local_file, unescaped_path) return end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fig-1.1.0 | lib/fig/protocol/file.rb |