class Asteroid::SSHKey

Attributes

id[RW]
name[RW]
ssh_pub_key[RW]

Public Class Methods

all() click to toggle source
# File lib/asteroid/ssh_key.rb, line 23
def self.all
  keys = Provider.all.ssh_keys
  keys.map do |key|
    new id: key[:id], name: key[:name]
  end
end
find(name) click to toggle source
# File lib/asteroid/ssh_key.rb, line 18
def self.find(name)
  name = name.to_s
  all.select{|k| k.name == name}.first
end
new(options = {}) click to toggle source
# File lib/asteroid/ssh_key.rb, line 8
def initialize(options = {})
  @id = options[:id]
  @name = options[:name]
end

Public Instance Methods

exists?() click to toggle source
# File lib/asteroid/ssh_key.rb, line 13
def exists?
  names = self.class.all.map{|k| k.name }
  names.include? @name
end
save() click to toggle source
# File lib/asteroid/ssh_key.rb, line 30
def save
  if exists?
    puts "Key exists"
  else 
    Digitalocean::SshKey.create(
      name: @name, 
      ssh_pub_key: URI::escape(@ssh_pub_key)
    )
  end
end