class Oc::Run::Ssh

Public Instance Methods

add(*args) click to toggle source
# File lib/system/run/commands/ssh.rb, line 30
def add(*args)
  name = args[0]
  pub_key = args[1]
  if name.nil? or pub_key.nil?
    puts "Argument Error".red
    puts "Usage".yellow
    puts "$ oc 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 108
def destroy(*args)
  id = args[0]
  if id.nil?
    puts "Argument Error".red
    puts "Usage".yellow
    puts "$ oc ssh destroy [KEY_ID]".yellow
  else
    raise 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 6
def keys
  result = barge.key.all
  if !result.success?
    puts "Error: Please check your information".red
  else
    puts "Your SSH Keys".yellow
    rows = []
    rows << [
      '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 52
def show(*args)
  id = args[0]
  if id.nil?
    puts "Argument Error".red
    puts "Usage".yellow
    puts "$ oc ssh show [KEY_ID]".yellow
  else
    raise 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 << [
        '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 84
def update(*args)
  id = args[0]
  name = args[1]
  pub_key = args[2]
  if id.nil? or name.nil? or pub_key.nil?
    puts "Argument Error".red
    puts "Usage".yellow
    puts "$ oc ssh edit [KEY_ID] [KEY_NAME] [KEY_PUB]".yellow
  else
    raise 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

barge() click to toggle source
# File lib/system/run/commands/ssh.rb, line 130
def barge
  puts "I'm thinking, please wait..".blue
  Oc::Config.get_barge
end
config(value) click to toggle source
# File lib/system/run/commands/ssh.rb, line 126
def config(value)
  @config ||=value
end