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.


193
194
195
196
# File 'lib/deltacloud/drivers/digitalocean/digitalocean_driver.rb', line 193

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

Instance Attribute Details

#credentialsObject (readonly)

Returns the value of attribute credentials.


191
192
193
# File 'lib/deltacloud/drivers/digitalocean/digitalocean_driver.rb', line 191

def credentials
  @credentials
end

Instance Method Details

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


198
199
200
201
202
203
204
205
206
207
208
209
210
211
# File 'lib/deltacloud/drivers/digitalocean/digitalocean_driver.rb', line 198

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