Wysyłanie pliku przez FTP

Witam,

taki kawałek kodu:

task(:"send_to_ftp" => [:environment]) do file = File.open(RAILS_ROOT+'/public/data_feed.xml.gz', 'r') ftp = Net::FTP.new('uploads.google.com') ftp.passive = true ftp.login(user = "XXX", passwd = "XXX") ftp.putbinaryfile(file, "data_feed.xml.gz") ftp.close end
powinien wysyłać plik na serwer FTP.

Otrzymuję:

rake aborted! can't convert File into String /usr/lib/ruby/1.8/open-uri.rb:32:in `open_uri_original_open' /usr/lib/ruby/1.8/open-uri.rb:32:in `open' /usr/lib/ruby/1.8/net/ftp.rb:559:in `putbinaryfile'
Czy ktoś wie w czym tkwi problem?

  ftp.putbinaryfile(RAILS_ROOT+'/public/data_feed.xml.gz', "data_feed.xml.gz")

Przy okazji, pierwszą linijkę lepiej napisać tak:

[code=ruby]task :send_to_ftp => :environment do

end[/code]

OK, działa. Problemem był “uploads.google.com”, po zalogowaniu (nowa sesja) już nie widać wysłanego pliku. Dopiero zdebugowałem przez “ftp.list” zaraz po wysłaniu pliku. Dzięki!