class Igdb::Requester
Public Class Methods
delete(action)
click to toggle source
# File lib/igdb/requester.rb, line 21 def delete(action) url = api.url_for(action) perform_request do parse_response(RestClient.post(url, {}, request_headers)) end end
get(action, params = {})
click to toggle source
# File lib/igdb/requester.rb, line 7 def get(action, params = {}) url = api.url_for(action, params) perform_request do parse_response(RestClient.get(url, request_headers)) end end
post(action, params = {}, form_data = {})
click to toggle source
# File lib/igdb/requester.rb, line 14 def post(action, params = {}, form_data = {}) url = api.url_for(action, params) perform_request do parse_response(RestClient.post(url, form_data.to_json, request_headers)) end end
Private Class Methods
api()
click to toggle source
# File lib/igdb/requester.rb, line 30 def api Igdb::Configuration::Api.instance end
parse_response(response_body)
click to toggle source
# File lib/igdb/requester.rb, line 47 def parse_response(response_body) JSON.parse(response_body) rescue JSON::ParserError => e raise Igdb::Exception::JsonParseError, "Response body could not be parsed: #{e.message}" end
perform_request() { || ... }
click to toggle source
# File lib/igdb/requester.rb, line 34 def perform_request yield rescue RestClient::Exception => e raise Igdb::Exception::Api, e.message end
request_headers()
click to toggle source
# File lib/igdb/requester.rb, line 40 def request_headers {}.tap do |headers| headers['Accept'] = 'application/json' headers['user-key'] = api.api_key end end