lib/clicksign/api/requests.rb
module Clicksign
module API
module Requests
def post(request_path, body, token)
response = conn.post do |req|
req.url request_path, { access_token: Clicksign::API.credentials[token] }
req.headers['Content-Type'] = 'application/json'
req.body = body.to_json
end
parse(response)
end
def get(request_path, token)
response = conn.get do |req|
req.url request_path, { access_token: Clicksign::API.credentials[token] }
req.headers['Content-Type'] = 'application/json'
end
parse(response)
end
def patch(request_path, body, token)
response = conn.patch do |req|
req.url request_path, { access_token: Clicksign::API.credentials[token] }
req.headers['Content-Type'] = 'application/json'
req.body = body.to_json
end
parse(response)
end
private
def conn
@conn ||= Faraday.new(url: Clicksign::API.url)
end
def parse(response)
if !response.body.empty?
JSON.parse(response.body, symbolize_keys: true).merge(status: response.status)
else
{ status: response.status }
end
end
end
end
end