Jamey Cribbs wrote:
> Daniel Berger wrote:
> > Hi all,
> >
> > Ruby 1.8.5
> >
> > I'm hitting some odd behavior with Net::FTP.new.  I'm connecting to a
> > Win2k3 server (running IIS 6, if that matters).  The directory style is
> > set to "UNIX", and the ftp server is in passive mode.
> >
> > I'm trying to "put" a simple text file.  When I use the block form of
> > FTP.new nothing happens.  No error, but the text file is not ftp'd to
> > the remote machine.  When I use the non-block form, everything works
> > fine.
> >
> > Sampe script:
> >
> > # This fails
> > require "net/ftp"
> > include Net
> >
> > file = "test.txt"
> >
> > FTP.new(host){ |ftp|
> >    ftp.passive = true
> >    ftp.login(user, pass)
> >    ftp.chdir(dir)
> >    ftp.put(file)
> > }
> >
> > However, this snippet works just fine:
> >
> > ftp = FTP.new(host)
> > ftp.passive = true
> > ftp.login(user, pass)
> > ftp.chdir(dir)
> > ftp.put(file)
> > ftp.close
> >
> > Note that the "ftp.passive = true" had no effect one way or another.
> > Looking at the source code for Net::FTP revealed nothing out of the
> > ordinary.  I ran the same script from both a Linux machine and a
> > Windows XP box and got the same behavior, so I don't think it's a line
> > ending issue.
> >
> I looked at ruby-doc.org and it looks like new does not take an optional
> block whereas open does.
>
> Jamey

Oh, you're right!

/me slaps self.

Thanks Jamey and Guy.

- Dan