class Greyatom::API
Constants
- API_ROOT
- URL
Attributes
conn[R]
Public Class Methods
new()
click to toggle source
# File lib/greyatom/api.rb, line 10 def initialize() @conn = Faraday.new(url: URL) do |faraday| faraday.adapter Faraday.default_adapter end end
Public Instance Methods
get(url, options = {})
click to toggle source
# File lib/greyatom/api.rb, line 16 def get(url, options = {}) request :get, url, options end
post(url, options = {})
click to toggle source
# File lib/greyatom/api.rb, line 20 def post(url, options = {}) request :post, url, options end
Private Instance Methods
buildBody(request, body)
click to toggle source
# File lib/greyatom/api.rb, line 60 def buildBody(request, body) if body request.body = Oj.dump(body, mode: :compat) end end
buildHeaders(request, headers)
click to toggle source
# File lib/greyatom/api.rb, line 44 def buildHeaders(request, headers) if headers headers.each do |header, value| request.headers[header] = value end end end
buildParams(request, params)
click to toggle source
# File lib/greyatom/api.rb, line 52 def buildParams(request, params) if params params.each do |param, value| request.params[param] = value end end end
buildRequest(request, options)
click to toggle source
# File lib/greyatom/api.rb, line 38 def buildRequest(request, options) buildHeaders(request, options[:headers]) buildParams(request, options[:params]) buildBody(request, options[:body]) end
request(method, url, options = {})
click to toggle source
# File lib/greyatom/api.rb, line 26 def request(method, url, options = {}) begin connection = options[:client] || @conn connection.send(method) do |req| req.url url buildRequest(req, options) end rescue Faraday::ConnectionFailed puts "Connection error. Please try again." end end