Class: XmlConv::Util::DestinationFtp
- Inherits:
-
RemoteDestination
- Object
- Destination
- RemoteDestination
- XmlConv::Util::DestinationFtp
- Defined in:
- lib/xmlconv/util/destination.rb
Constant Summary
Constants inherited from Destination
XmlConv::Util::Destination::STATUS_COMPARABLE
Instance Attribute Summary
Attributes inherited from RemoteDestination
Attributes inherited from Destination
Instance Method Summary collapse
- #deliver_to_connection(connection, delivery, idx = nil) ⇒ Object
- #do_deliver(delivery) ⇒ Object
-
#initialize(uri = URI.parse('ftp:/'), tmp = nil) ⇒ DestinationFtp
constructor
A new instance of DestinationFtp.
Methods inherited from RemoteDestination
#deliver, #forget_credentials!, #host, #host=, #path, #path=, #uri=
Methods inherited from Destination
book, #deliver, #forget_credentials!, #sanitize, #status_comparable, #update_status
Constructor Details
#initialize(uri = URI.parse('ftp:/'), tmp = nil) ⇒ DestinationFtp
Returns a new instance of DestinationFtp.
124 125 126 127 128 129 |
# 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 |
Instance Method Details
#deliver_to_connection(connection, delivery, idx = nil) ⇒ Object
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 |
# 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) ⇒ Object
130 131 132 133 134 135 |
# 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 |