Sha256: 26dae3f728c15f6623d02297a3c4ffba74ed6335f7e5d148afc2365b82289e6d
Contents?: true
Size: 1.74 KB
Versions: 4
Compression:
Stored size: 1.74 KB
Contents
# frozen_string_literal: true module DSL # * send, tempfile, tempdir, remote_tempdir, remote_tempfile def send(args = {}) return if skip? return unless args[:copy_to] host = args[:copy_to].to_s return unless @conn_status[host].nil? ip = get((host + "_ip").to_sym) username = get((host + "_username").to_sym).to_s password = get((host + "_password").to_sym).to_s port = get((host + "_port").to_sym).to_i port = 22 if port.zero? filename = "#{@report.filename}.#{@report.format}" filename = "#{@report.filename}.txt" if @report.format == :colored_text localfilepath = File.join(@report.output_dir, filename) filename = args[:prefix].to_s + filename if args[:prefix] remotefilepath = if args[:remote_dir] File.join(args[:remote_dir], filename) else File.join(".", filename) end # Upload a file or directory to the remote host begin Net::SFTP.start(ip, username, password: password, port: port) do |sftp| sftp.upload!(localfilepath, remotefilepath) end msg = Rainbow("==> File '#{remotefilepath}' of '#{get(:tt_members)}' has been copied").green verboseln(msg) rescue msg = Rainbow("==> [FAIL] #{get(:tt_members)}: 'scp #{localfilepath}' to #{remotefilepath}").red verboseln(msg) end end def tempfile(input = nil) return @action[:tempfile] if input.nil? name = input name = "teuton.tmp" if input == :default @action[:tempfile] = File.join(@tmpdir, name) @action[:remote_tempfile] = File.join(remote_tempdir, name) @action[:tempfile] end def tempdir @tmpdir end def remote_tempfile @action[:remote_tempfile] end def remote_tempdir File.join("/", "tmp") # TODO: Remove this? end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
teuton-2.7.3 | lib/teuton/case/dsl/send.rb |
teuton-2.7.2 | lib/teuton/case/dsl/send.rb |
teuton-2.7.1 | lib/teuton/case/dsl/send.rb |
teuton-2.7.0 | lib/teuton/case/dsl/send.rb |