class EzPaaS::RESTClient

Attributes

url[R]

Public Class Methods

new(url) click to toggle source
# File lib/ezpaas/rest_client.rb, line 14
def initialize(url)
  @url = url
end

Public Instance Methods

apps() click to toggle source

Apps

# File lib/ezpaas/rest_client.rb, line 20
def apps
  (handle self.class.get(url_for('/apps')))['apps']
end
create_app(name) click to toggle source
# File lib/ezpaas/rest_client.rb, line 24
def create_app(name)
  options = {
    body: {
      name: name
    }
  }
  handle self.class.post(url_for('/apps'), options)
end
destroy_app(name) click to toggle source
# File lib/ezpaas/rest_client.rb, line 33
def destroy_app(name)
  options = {
    query: {
      name: name
    }
  }
  handle self.class.delete(url_for('/apps'), options)
end

Private Instance Methods

handle(response) click to toggle source
# File lib/ezpaas/rest_client.rb, line 48
def handle(response)
  if response.code >= 400
    raise ClientError, (response['error'] || 'An unknown error occurred.')
  else
    response
  end
end
url_for(path) click to toggle source
# File lib/ezpaas/rest_client.rb, line 44
def url_for(path)
  URI::join(url, path)
end