My simple downloader doesn't work

Maybe because active ftp and your firewall, try:

require 'open-uri'
open("ftp://whatever.ftp.site", :ftp_active_mode => false).read

I get TypeError: Cannot convert Hash into String.

···

--
My own blog (in polish) :
wujciol.yoyo.pl