Manage the uploading of files to an FTP account.
Log uploads to standard output when true.
Create an uploader and pass it to the given block as up
. When
the block is complete, close the uploader.
# File lib/rake/contrib/ftptools.rb, line 93 def connect(path, host, account, password) up = self.new(path, host, account, password) begin yield(up) ensure up.close end end
Create an FTP uploader targeting the directory path
on
host
using the given account and password. path
will be the root path of the uploader.
# File lib/rake/contrib/ftptools.rb, line 106 def initialize(path, host, account, password) @created = Hash.new @path = path @ftp = Net::FTP.new(host, account, password) makedirs(@path) @ftp.chdir(@path) end
Close the uploader.
# File lib/rake/contrib/ftptools.rb, line 137 def close @ftp.close end
Create the directory path
in the uploader root path.
# File lib/rake/contrib/ftptools.rb, line 115 def makedirs(path) route = [] File.split(path).each do |dir| route << dir current_dir = File.join(route) if @created[current_dir].nil? @created[current_dir] = true $stderr.puts "Creating Directory #{current_dir}" if @verbose @ftp.mkdir(current_dir) rescue nil end end end
Upload all files matching wildcard
to the uploader's root
path.
# File lib/rake/contrib/ftptools.rb, line 130 def upload_files(wildcard) FileList.glob(wildcard).each do |fn| upload(fn) end end