class Requestor
Public Class Methods
new(api_key:, host: nil, version: nil, auth: nil)
click to toggle source
# File lib/requestor.rb, line 7 def initialize(api_key:, host: nil, version: nil, auth: nil) @api_key = api_key @host = host || 'https://mobius.network/api' @version = version || 'v1' @auth = auth end
Public Instance Methods
get(resource, action, payload)
click to toggle source
# File lib/requestor.rb, line 14 def get(resource, action, payload) request('GET', resource, action, payload) end
post(resource, action, payload)
click to toggle source
# File lib/requestor.rb, line 18 def post(resource, action, payload) request('POST', resource, action, payload) end
post_json(resource, action, payload)
click to toggle source
# File lib/requestor.rb, line 22 def post_json(resource, action, payload) request('POST_JSON', resource, action, payload) end
Private Instance Methods
request(method, resource, action, payload)
click to toggle source
# File lib/requestor.rb, line 28 def request(method, resource, action, payload) url = "#{@host}/#{@version}/#{resource}/#{action}" headers = { 'x-api-key': @api_key } if @auth headers['Authorization'] = @auth end http = HTTP.headers(headers) response = case method when 'GET' http.get(url, params: payload) when 'POST' http.post(url, form: payload) when 'POST_JSON' http.post(url, json: payload) end if response.code >= 400 message = '' begin error = response.parse message = error['error']['message'] rescue StandardError message = 'Something wrong' end raise ApiError.new, message end response.parse end