module Sesame2::Api
Constants
- ENDPOINT_URL
Attributes
api_key[RW]
client_id[RW]
Public Instance Methods
call(method, path, query = nil, body = nil)
click to toggle source
# File lib/sesame2/api.rb, line 23 def call(method, path, query = nil, body = nil) response = client.send(method) do |req| req.url path req.headers["Content-Type"] = "application/json" req.headers["x-api-key"] = @api_key unless @api_key.nil? req.params = query unless query.nil? req.body = body.to_json unless body.nil? end parse_response(response) end
client()
click to toggle source
# File lib/sesame2/api.rb, line 12 def client @client ||= Faraday.new(url: ENDPOINT_URL) end
get(path, query = nil)
click to toggle source
# File lib/sesame2/api.rb, line 34 def get(path, query = nil) call(:get, path, query, nil) end
parse_response(response)
click to toggle source
# File lib/sesame2/api.rb, line 16 def parse_response(response) parsed_response = response.headers["Content-Length"].to_i.positive? ? JSON.parse(response.body) : "" raise Error.new(response.status, parsed_response) if response.status >= 400 parsed_response end
post(path, query, body)
click to toggle source
# File lib/sesame2/api.rb, line 38 def post(path, query, body) call(:post, path, query, body) end