Module: CodeCube

Defined in:
lib/codecube.rb,
lib/codecube/response.rb

Defined Under Namespace

Classes: ApiError, AuthenticationError, Response

Constant Summary collapse

API_BASE_URL =
"http://api.codecube.io/"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.api_keyObject

Returns the value of attribute api_key.



13
14
15
# File 'lib/codecube.rb', line 13

def api_key
  @api_key
end

Class Method Details

.run_sync(args = {}) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/codecube.rb', line 15

def run_sync(args = {})
  require_args!(args, [:language, :code])
  check_api_key!

  response = Typhoeus.post(api_url("/sync-run/").to_s,
                           body: JSON.dump(args),
                           headers: { 'Authorization' => api_key })
  case response.code
  when 200 then return Response.new(JSON.parse(response.body))
  when 401 then raise AuthenticationError, response.body
  else raise ApiError, response.body
  end
end