class XmlConv::Util::DestinationFtp
Public Class Methods
new(uri = URI.parse('ftp:/'), tmp = nil)
click to toggle source
Calls superclass method
XmlConv::Util::Destination::new
# File lib/xmlconv/util/destination.rb, line 124 def initialize(uri = URI.parse('ftp:/'), tmp = nil) super() @tmp = tmp @uri = uri @transport = Net::FTP end
Public Instance Methods
deliver_to_connection(connection, delivery, idx=nil)
click to toggle source
# File lib/xmlconv/util/destination.rb, line 136 def deliver_to_connection(connection, delivery, idx=nil) if(delivery.is_a?(Array)) #delivery.each_with_index { |part, idx| delivery.each { |part| #deliver_to_connection(connection, part, idx) deliver_to_connection(connection, part) } else fh = Tempfile.new('xmlconv') fh.puts(delivery) fh.flush target = delivery.filename # if(idx) #targidxet = sprintf("%03i_%s", idx, target) # target.gsub!(/\.dat/, "%03i.dat" % idx) # target.gsub!(/(CO_\d{13})/, '\1%02d' % idx) # end if(@tmp) tmp = File.join(@tmp.path, target) connection.puttextfile(fh.path, tmp) connection.rename(tmp, target) else connection.puttextfile(fh.path, target) end fh.close! @status = :ftp_ok end end
do_deliver(delivery)
click to toggle source
# File lib/xmlconv/util/destination.rb, line 130 def do_deliver(delivery) @transport.open(@uri.host, @uri.user, @uri.password) do |conn| conn.chdir(@uri.path) deliver_to_connection(conn, delivery) end end