class Race::Run::Ssh

Public Instance Methods

add(*args) click to toggle source
# File lib/system/run/commands/ssh.rb, line 26
def add(*args)
  name = args[0]
  pub_key = args[1]
  if name.nil? || pub_key.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race ssh add [KEY_NAME] [KEY_PUB]'.yellow
  else
    result = barge.key.create(name: name,
                              public_key: pub_key)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'SSH Key Added'.green
    end
  end
end
destroy(*args) click to toggle source
# File lib/system/run/commands/ssh.rb, line 97
def destroy(*args)
  id = args[0]
  if id.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race ssh destroy [KEY_ID]'.yellow
  else
    fail ArgumentError, "Argument Error - #{id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    result = barge.key.destroy(id)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'SSH Key Deleted'.green
    end
  end
end
keys() click to toggle source
# File lib/system/run/commands/ssh.rb, line 5
def keys
  result = barge.key.all
  if !result.success?
    puts 'Error: Please check your information'.red
  else
    puts 'Your SSH Keys'.yellow
    rows = []
    rows << %w(ID Name)
    result.ssh_keys.each do |key|
      rows << [
        key['id'],
        key['name'].red
      ]
    end
    table = Terminal::Table.new rows: rows
    puts table
  end
end
show(*args) click to toggle source
# File lib/system/run/commands/ssh.rb, line 46
def show(*args)
  id = args[0]
  if id.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race ssh show [KEY_ID]'.yellow
  else
    fail ArgumentError, "Argument Error - #{id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    result = barge.key.show(id)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'SSH Keys'.yellow
      rows = []
      rows << %w(ID Name)
      key = result.ssh_key
      rows << [
        key.id,
        key.name.to_s.red
      ]

      table = Terminal::Table.new rows: rows
      puts table
    end
  end
end
update(*args) click to toggle source
# File lib/system/run/commands/ssh.rb, line 75
def update(*args)
  id = args[0]
  name = args[1]
  pub_key = args[2]
  if id.nil? || name.nil? || pub_key.nil?
    puts 'Argument Error'.red
    puts 'Usage'.yellow
    puts '$ race ssh edit [KEY_ID] [KEY_NAME] [KEY_PUB]'.yellow
  else
    fail ArgumentError, "Argument Error - #{id}" unless id =~ /\A[-+]?[0-9]*\.?[0-9]+\Z/
    result = barge.key.update(id,           name: name,
                                            public_key: pub_key)
    if !result.success?
      puts "#{result.message}".red
    else
      puts 'SSH Key Edited'.green
    end
  end
end

Private Instance Methods

config(value) click to toggle source
# File lib/system/run/commands/ssh.rb, line 116
def config(value)
  @config ||= value
end