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.



232
233
234
235
# File 'lib/deltacloud/drivers/digitalocean/digitalocean_driver.rb', line 232

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

Instance Attribute Details

#credentialsObject (readonly)

Returns the value of attribute credentials.



230
231
232
# File 'lib/deltacloud/drivers/digitalocean/digitalocean_driver.rb', line 230

def credentials
  @credentials
end

Instance Method Details

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



237
238
239
240
241
242
243
244
245
246
247
248
249
250
# File 'lib/deltacloud/drivers/digitalocean/digitalocean_driver.rb', line 237

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']
    raise error_message
  end
  json_result
end