class Wip::Client

Constants

API_ENDPOINT

Attributes

api_key[R]
json[R]
response[R]

Public Class Methods

new(api_key: Wip::Auth.api_key) click to toggle source
# File lib/wip/client.rb, line 12
def initialize(api_key: Wip::Auth.api_key)
  @api_key = api_key
end

Public Instance Methods

data(key) click to toggle source
# File lib/wip/client.rb, line 38
def data(key)
  json["data"][key] if json
end
header() click to toggle source
# File lib/wip/client.rb, line 31
def header
  {
    "Authorization": "bearer #{@api_key}",
    "Content-Type": "application/json"
  }
end
request(query) click to toggle source
# File lib/wip/client.rb, line 16
def request(query)
  uri = URI.parse(API_ENDPOINT)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  request = Net::HTTP::Post.new(uri.request_uri, header)
  request.body = { query: query }.to_json
  @response = http.request(request)

  @json = JSON.parse(@response.body)
  if @json.has_key? "errors"
    raise @json["errors"].first["message"]
  end
  @json
end