Sha256: e5a3e716a8ef8d97b43ed3a9904752b4ce3eac4b70cc1c85ed539507db70a579

Contents?: true

Size: 716 Bytes

Versions: 1

Compression:

Stored size: 716 Bytes

Contents

class SSH
  def initialize(ip, user, debug)
    @ip, @user, @debug = ip, user, debug
  end

  def run(command, quiet = true)
    run_command("ssh #{ssh_opts} #{@user}@#{@ip} '#{command}' #{supress_output(quiet)}")
  end

  def rsync(source, target, quiet = false)
    run_command("rsync -e 'ssh #{ssh_opts}' -az #{source} #{@user}@#{@ip}:#{target} #{supress_output(quiet)}")
  end

  private

  def supress_output(hide_stdout)
    if @debug
      ""
    else
      "#{hide_stdout ? '2> /dev/null 1> /dev/null' : '2> /dev/null'}"
    end
  end

  def run_command(cmd)
    puts "SSH | #{cmd}" if @debug
    system(cmd)
  end

  def ssh_opts
    "-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
solokit-0.0.1 lib/ssh.rb