class Subspace::Commands::Ssh
Constants
- PASS_THROUGH_PARAMS
Public Class Methods
new(args, options)
click to toggle source
# File lib/subspace/commands/ssh.rb, line 5 def initialize(args, options) @host = args.first @user = options.user @options = options run end
Public Instance Methods
run()
click to toggle source
# File lib/subspace/commands/ssh.rb, line 12 def run if !File.exists? "config/provision/host_vars/#{@host}" say "No host '#{@host}' found. " all_hosts = Dir["config/provision/host_vars/*"].collect {|f| File.basename(f) } say (["Available hosts:"] + all_hosts).join("\n\t") return end host_vars = YAML.load_file("config/provision/host_vars/#{@host}") user = @user || host_vars["ansible_ssh_user"] || host_vars["ansible_user"] host = host_vars["ansible_ssh_host"] || host_vars["ansible_host"] port = host_vars["ansible_ssh_port"] || host_vars["ansible_port"] || 22 cmd = "ssh #{user}@#{host} -p #{port} #{pass_through_params.join(" ")}" say cmd exec cmd end