class PackageCloud::CLI::GpgKey
Public Instance Methods
create(repo_name, file_path)
click to toggle source
# File lib/package_cloud/cli/gpg_key.rb, line 31 def create(repo_name, file_path) print "Looking for repository at #{repo_name}... " repo = client.repository(repo_name) print "success!\n" repo.create_gpg_key(file_path) end
destroy(repo_name, keyname)
click to toggle source
# File lib/package_cloud/cli/gpg_key.rb, line 40 def destroy(repo_name, keyname) ARGV.clear print "Looking for repository at #{repo_name}... " repo = client.repository(repo_name) print "success!\n" key = repo.gpg_keys.detect do |key| key.name == keyname end if key msg = "\nAre you sure you want to delete the GPG key #{keyname}? (y/n)" answer = get_valid(msg) do |s| s == "y" || s == "n" end if answer == "y" print "Attempting to destroy GPG key named #{keyname}... " begin key.destroy rescue RestClient::ResourceNotFound =>e print "\nError, could not find key: #{keyname}. No GPG keys deleted.\n".color(:red) print "Please note that you cannot delete repository signing keys.\n" exit(1) else print "success!\n".color(:green) end else puts "Aborting...".color(:red) end else puts "Wasn't able to find a GPG key name: #{keyname}".color(:red) end end
list(repo_name)
click to toggle source
# File lib/package_cloud/cli/gpg_key.rb, line 6 def list(repo_name) print "Looking for repository at #{repo_name}... " repo = client.repository(repo_name) print "success!\n" keys = repo.gpg_keys puts "GPG Keys for #{repo_name}:\n" keys.each_with_index do |key, i| if key.keytype == "package" keytype = "Package signing key" else keytype = "Repository signing key" end puts "Key name: #{key.name}" puts "Key type: #{keytype}" puts "Key fingerprint: #{key.fingerprint}" puts "GPG key url: #{key.download_url}" puts end end