Class: Deltacloud::Drivers::Digitalocean::DigitaloceanDriver::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/deltacloud/drivers/digitalocean/digitalocean_driver.rb

Constant Summary collapse

API_URL =
"https://api.digitalocean.com/"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(credentials) ⇒ Client

Returns a new instance of Client.



253
254
255
256
# File 'lib/deltacloud/drivers/digitalocean/digitalocean_driver.rb', line 253

def initialize(credentials)
  @credentials = credentials
  @resource = RestClient::Resource.new(API_URL)
end

Instance Attribute Details

#credentialsObject (readonly)

Returns the value of attribute credentials.



251
252
253
# File 'lib/deltacloud/drivers/digitalocean/digitalocean_driver.rb', line 251

def credentials
  @credentials
end

Instance Method Details

#get(uri, opts = {}) ⇒ Object



258
259
260
261
262
263
264
265
266
267
268
269
270
271
# File 'lib/deltacloud/drivers/digitalocean/digitalocean_driver.rb', line 258

def get(uri, opts={})
  opts.merge!(
    :client_id => credentials.user,
    :api_key => credentials.password
  )
  result = @resource[uri].get(:params => opts)
  json_result = JSON::parse(result)
  if json_result['status'] != 'OK'
    p result
    error_message = json_result['error_message'] || "#{json_result['status']} #{json_result['description']}"
    raise error_message
  end
  json_result
end