class Net::FTP

Public Instance Methods

_chdir(dir)
Alias for: chdir
chdir(dir) { || ... } click to toggle source
# File lib/razor/rake/ftp.rb, line 16
def chdir(dir)
        wd = (dir =~ /^\.?$/)
        if block_given?
                current = pwd
                wd or _chdir dir
                begin
                        yield
                ensure
                        wd or _chdir current
                end
        else
                wd or _chdir dir
        end
end
Also aliased as: _chdir
directory?(name) click to toggle source
# File lib/razor/rake/ftp.rb, line 5
def directory?(name)
        regexp = /#{name}$/
        line = ls.find { |line| line =~ regexp }
        line or false and line[0] == ?d
end
entries() click to toggle source
# File lib/razor/rake/ftp.rb, line 11
def entries
        nlst.reject { |e| e =~ /^(\.|\.\.)$/ }
end
put_contents(dir) click to toggle source
# File lib/razor/rake/ftp.rb, line 31
def put_contents(dir)
        Dir[dir+'/*'].each &method(:put_r)
end
put_r(file) click to toggle source
# File lib/razor/rake/ftp.rb, line 35
def put_r(file)
        filename = File.basename file
        if File.directory? file
                mkdir filename
                chdir(filename) { put_contents file }
        else
                put file, filename
        end
end
rm_contents(dir) click to toggle source
# File lib/razor/rake/ftp.rb, line 45
def rm_contents(dir)
        chdir(dir) {
                entries.each &method(:rm_r)
        }
end
rm_r(file) click to toggle source
# File lib/razor/rake/ftp.rb, line 51
def rm_r(file)
        if directory? file
                rm_contents file
                rmdir file
        else
                delete file
        end
end