class Igdb::Requester
Public Class Methods
delete(action)
click to toggle source
# File lib/igdb/requester.rb, line 20 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 6 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 13 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 28 def api Igdb::Configuration::Api.instance end
parse_response(response_body)
click to toggle source
# File lib/igdb/requester.rb, line 48 def parse_response(response_body) begin JSON.parse(response_body) rescue JSON::ParserError => e raise Igdb::Exception::JsonParseError.new("Response body could not be parsed: #{e.message}") end end
perform_request(&block)
click to toggle source
# File lib/igdb/requester.rb, line 32 def perform_request(&block) begin block.call rescue RestClient::Exception => e raise Igdb::Exception::Api.new(e.message) end end
request_headers()
click to toggle source
# File lib/igdb/requester.rb, line 40 def request_headers Hash.new.tap do |headers| headers['Accept'] = 'text/json' headers['Content-Type'] = 'text/json' headers['X-Mashape-Key'] = api.api_key end end