Parent

Rake::FtpUploader

Manage the uploading of files to an FTP account.

Attributes

verbose[RW]

Log uploads to standard output when true.

Public Class Methods

connect(path, host, account, password) click to toggle source

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 95
def connect(path, host, account, password)
  up = self.new(path, host, account, password)
  begin
    yield(up)
  ensure
    up.close
  end
end
new(path, host, account, password) click to toggle source

Create an FTP uploader targetting 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 108
def initialize(path, host, account, password)
  @created = Hash.new
  @path = path
  @ftp = Net::FTP.new(host, account, password)
  makedirs(@path)
  @ftp.chdir(@path)
end

Public Instance Methods

close() click to toggle source

Close the uploader.

# File lib/rake/contrib/ftptools.rb, line 139
def close
  @ftp.close
end
makedirs(path) click to toggle source

Create the directory path in the uploader root path.

# File lib/rake/contrib/ftptools.rb, line 117
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
      puts "Creating Directory  #{current_dir}" if @verbose
      @ftp.mkdir(current_dir) rescue nil
    end
  end
end
upload_files(wildcard) click to toggle source

Upload all files matching wildcard to the uploader’s root path.

# File lib/rake/contrib/ftptools.rb, line 132
def upload_files(wildcard)
  Dir[wildcard].each do |fn|
    upload(fn)
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.