lib/stockboy/providers/ftp/ftp_adapter.rb
require 'net/ftp'
module Stockboy::Providers
class FTP::FTPAdapter
attr_reader :client
def initialize(provider)
@provider = provider
end
def open
result = nil
Net::FTP.open(@provider.host, @provider.username, @provider.password) do |ftp|
@client = ftp
client.binary = @provider.binary
client.passive = @provider.passive
result = yield self
end
result
end
def chdir(directory)
client.chdir directory
end
def list_files
client.nlst.sort
end
def delete(file_name)
client.delete file_name
end
def download(file_name)
client.get(file_name, nil)
end
def modification_time(file_name)
client.mtime file_name
end
def size(file_name)
client.size file_name
end
def self.exception_class
Net::FTPError
end
end
end