Bugs item #7224, was opened at 2006-12-11 18:34
You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=1698&aid=7224&group_id=426

>Category: Networking / Communication / P
Group: 1.8.x
Status: Open
Resolution: None
Priority: 3
Submitted By: Robert Postill (robertpostill)
Assigned to: Nobody (None)
Summary: net/ftp login appears to be broken

Initial Comment:
The impression I got from the documentation for net/ftp is that it should be possible to do the following:
Net::FTP.new do |ftp|
      ftp.login(hostname,username,password)
      # Uncomment this line to see the FTP connection in action.
      # ftp.debug_mode=true
      for file in @files do #@files being an array of files
        ftp.putbinaryfile(file)
      end
end

Sadly this appears never to logon to the server (or to try to log on anonymously, which my FTP server -vsftpd- does not allow).  In the ruby debugger I can see the ftp connection yield but it never seems to then logon.  So if you need to logon to FTP you need to do the following:
ftp_connection = Net::FTP.new(hostname,username,password)
      # Uncomment this line to see the FTP connection in action.
      # ftp_connection.debug_mode=true
      for file in @files do #@files being an array of files
        ftp_connection.putbinaryfile(file)
      end
ftp_connection.close
Therefore I have attached a patch that will update the documentation for net/ftp as an immediate fix.

----------------------------------------------------------------------

Comment By: Daniel Berger (djberg96)
Date: 2006-12-11 19:26

Message:
Nope, FTP.open takes a block, FTP.new does not.  I've made the same mistake myself.  But, it is correctly documented.

- Dan

----------------------------------------------------------------------

You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=1698&aid=7224&group_id=426