Class: XmlConv::Util::DestinationSftp
- Inherits:
-
RemoteDestination
- Object
- Destination
- RemoteDestination
- XmlConv::Util::DestinationSftp
- 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) ⇒ Object
- #do_deliver(delivery) ⇒ Object
-
#initialize(uri = URI.parse('sftp:/')) ⇒ DestinationSftp
constructor
A new instance of DestinationSftp.
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('sftp:/')) ⇒ DestinationSftp
Returns a new instance of DestinationSftp.
222 223 224 225 226 227 |
# File 'lib/xmlconv/util/destination.rb', line 222 def initialize(uri = URI.parse('sftp:/')) require 'net/sftp' super() @uri = uri @transport = Net::SFTP end |
Instance Method Details
#deliver_to_connection(connection, delivery) ⇒ Object
235 236 237 238 239 240 241 242 243 244 245 246 247 |
# 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) ⇒ Object
228 229 230 231 232 233 234 |
# 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 |