class Acquia::Cloud::Api

Constants

API_VERSION
BASE_URL

Attributes

credentials[R]

Public Class Methods

new(args = {}) click to toggle source
# File lib/acquia/cloud/api.rb, line 10
def initialize(args = {})
  @acquia = Faraday.new(:url => 'https://cloudapi.acquia.com') do |client|
    client.request :url_encoded
    client.adapter Faraday.default_adapter

    # Log request and response to STDOUT.
    # client.use Faraday::Response::Logger

    # Raise errors on HTTP error codes.
    client.use Faraday::Response::RaiseError
  end

  @credentials = Credentials.new(args[:credentials])
  raise 'Unable to determine your Acquia Cloud credentials.' \
    unless @credentials.defined?
  @acquia.basic_auth @credentials.email, @credentials.key
end

Public Instance Methods

delete(url = nil, params = nil, headers = nil, &block) click to toggle source
# File lib/acquia/cloud/api.rb, line 37
def delete(url = nil, params = nil, headers = nil, &block)
  request :delete, url, params, headers, &block
end
get(url = nil, params = nil, headers = nil, &block) click to toggle source
# File lib/acquia/cloud/api.rb, line 28
def get(url = nil, params = nil, headers = nil, &block)
  request :get, url, params, headers, &block
end
post(url = nil, body = nil, headers = nil, &block) click to toggle source
# File lib/acquia/cloud/api.rb, line 33
def post(url = nil, body = nil, headers = nil, &block)
  request :post, url, body.nil? ? body : body.to_json, headers, &block
end

Protected Instance Methods

request(method, url = nil, arg2 = nil, headers = nil, &block) click to toggle source
# File lib/acquia/cloud/api.rb, line 43
def request(method, url = nil, arg2 = nil, headers = nil, &block)
  response = @acquia.method(method).call "/#{API_VERSION}#{url}.json", arg2, headers, &block
  JSON.load(response.body)
end