Sha256: da092c558f68336b88c13b6f7f192bb4778f20729644205e4a666b6c5fe33faa

Contents?: true

Size: 525 Bytes

Versions: 1

Compression:

Stored size: 525 Bytes

Contents

module EyApi
  def call_api(path, opts={})
    JSON.parse(@rest["/api/#{path}"].post(@keys.merge(opts), {"Accept" => "application/json"}))
  rescue RestClient::RequestFailed => e
    case e.http_code
    when 503
      sleep 10 # Nanite, save us...
      retry
    else
      raise "API call to Engine Yard failed with status #{e.http_code}."
    end
  end
  
  def get_envs
    @_envs ||= call_api("environments")
  end
  
  def get_json(instance_id)
    call_api("json_for_instance", :instance_id => instance_id)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ey_cloud_server-1.0.1 lib/ey-flex/ey-api.rb