class AcquiaCloudApi::Client
Public Class Methods
new(options = {})
click to toggle source
# File lib/acapi/client.rb, line 24 def initialize(options = {}) @options = options @site_name = options[:site_name] @last_response = false end
Public Instance Methods
delete(uri, params = {})
click to toggle source
# File lib/acapi/client.rb, line 38 def delete(uri, params = {}) request :delete, uri, params end
get(uri, params = {})
click to toggle source
# File lib/acapi/client.rb, line 30 def get(uri, params = {}) request :get, uri, params end
post(uri, params = {}, data = {})
click to toggle source
# File lib/acapi/client.rb, line 34 def post(uri, params = {}, data = {}) request :post, uri, params, data end
site_name()
click to toggle source
# File lib/acapi/client.rb, line 42 def site_name @site_name ||= Client.new(@options).sites.first.split(':').last end
Private Instance Methods
request(method, uri, params = {}, data = {})
click to toggle source
# File lib/acapi/client.rb, line 48 def request(method, uri, params = {}, data = {}) cert = OpenSSL::X509::Certificate.new(File.read("#{AcquiaCloudApi.source_root}/cloudapi.acquia.com.pem")) req = RestClient::Request.new( :method => method, :url => "#{Default::API_ENDPOINT}/#{uri}.json", :user => @options[:username], :password => @options[:password], :payload => data, :ssl_client_cert => cert, :headers => { :params => params } ) res = req.execute @last_response = res JSON.parse(res) end