Is there a high-level Ruby library to interact with an FTP server?
Instead of Net::HTTP I can use HTTParty, Curb, Rest Client, or Typhoeus, which makes everything easier, but I can't find any similar solutions to replace/enhance Net::FTP.
More specifically, I'm looking for:
Ruby's built-in OpenURI will handle FTP.
From OpenURI's docs:
OpenURI is an easy-to-use wrapper for net/http, net/https and net/ftp.
This will seem to hang while it retrieves the Ruby source, but should return after a minute or two.
require 'open-uri'
open('ftp://ftp.ruby-lang.org//pub/ruby/ruby-1.9.2-p136.tar.bz2') do |fi|
File.open('ruby-1.9.2-p136.tar.bz2', 'wb') do |fo|
fo.puts fi.read
end
end
Or Net::FTP is easy to use with a lot more functionality:
require 'net/ftp'
Net::FTP.open('ftp.ruby-lang.org') do |ftp|
ftp.login
ftp.chdir('/pub/ruby')
puts ftp.list('ruby-1.9.2*')
puts ftp.nlst()
ruby_file = 'ruby-1.9.2-p136.tar.bz2'
ftp.getbinaryfile(ruby_file, ruby_file, 1024)
end
Have you tried EventMachine? https://github.com/schleyfox/em-ftp-client
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With