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 |