Sha256: 1d0bae15ea91ac3adfc6ca8810f44882f51f081013e08db19a8fc68d1e23e048
Contents?: true
Size: 863 Bytes
Versions: 1
Compression:
Stored size: 863 Bytes
Contents
require 'net/sftp' module ScalingoBackupsManager class SftpTools attr_accessor :ftp_host def initialize(ftp_host) @ftp_host = ftp_host end def start Net::SFTP.start(@ftp_host[:host], @ftp_host[:user], password: @ftp_host[:password], port: @ftp_host[:port]) do |sftp| yield(sftp) if block_given? end end def mkdir!(path) start do |sftp| folder_tree = [] path.split("/").each do |folder_name| next if folder_name.blank? folder_tree << folder_name begin sftp.mkdir!(folder_tree.join("/")) rescue end end end end def upload_file(filepath, remote_dir) filename = filepath.split('/').last start do |sftp| sftp.upload!(filepath, "#{remote_dir}/#{filename}") end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
scalingo_backups_manager-0.4.0 | lib/scalingo_backups_manager/sftp_tools.rb |