Method: PackageCloud::Repository#create_gpg_key

Defined in:
lib/package_cloud/repository.rb

#create_gpg_key(file_path) ⇒ Object



111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'lib/package_cloud/repository.rb', line 111

def create_gpg_key(file_path)
  file_data = File.new(file_path, 'rb')
  base_url = @config.base_url
  url = PackageCloud::Util.compute_url(@config.base_url, paths["gpg_keys"])
  params = { keydata: file_data }

  print "Attempting to upload key file #{file_path}... "

  begin
    RestClient::Request.execute(:method => 'post',
                                :url => url,
                                :timeout => nil,
                                :payload => { :gpg_key => params })
  rescue RestClient::UnprocessableEntity => e
    print "error: ".color(:red)
    json = JSON.parse(e.response)
    puts json["error"]
    puts ""
    exit(1)
  end

  print "success!\n".color(:green)
end