class XmlConv::Util::DestinationSftp

Public Class Methods

new(uri = URI.parse('sftp:/')) click to toggle source
Calls superclass method XmlConv::Util::Destination::new
# File lib/xmlconv/util/destination.rb, line 222
def initialize(uri = URI.parse('sftp:/'))
  require 'net/sftp'
  super()
  @uri = uri
  @transport = Net::SFTP
end

Public Instance Methods

deliver_to_connection(connection, delivery) click to toggle source
# File lib/xmlconv/util/destination.rb, line 235
def deliver_to_connection(connection, delivery)
  if(delivery.is_a?(Array))
    delivery.each { |part|
      deliver_to_connection(connection, part)
    }
  else
    target = delivery.filename
    connection.file.open(File.join(@uri.path, target), "w") do |fh|
      fh.puts delivery
    end
    @status = :sftp_ok
  end
end
do_deliver(delivery) click to toggle source
# File lib/xmlconv/util/destination.rb, line 228
def do_deliver(delivery)
  @transport.start(@uri.host, @uri.user,
                   :user_known_hosts_file => CONFIG.ssh_known_hosts_file,
                   :keys => CONFIG.ssh_identities) { |conn|
    deliver_to_connection(conn, delivery)
  }
end