Sha256: f07f30c9456f91ca8d77faf32fef188ddc6c76aac7e43ebdb304ceeea5afd68b

Contents?: true

Size: 726 Bytes

Versions: 3

Compression:

Stored size: 726 Bytes

Contents

require 'yaml'
class Subspace::Commands::Ssh < Subspace::Commands::Base
  def initialize(args, options)
    @host = args.first
    @user = options.user
    run
  end

  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"]
    cmd = "ssh #{user}@#{host}"
    say cmd
    exec cmd
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
subspace-0.4.9 lib/subspace/commands/ssh.rb
subspace-0.4.8 lib/subspace/commands/ssh.rb
subspace-0.4.7 lib/subspace/commands/ssh.rb