class Tankard::Request
Handles making actual requests and checking them for any invalid status codes
@author Matthew Shafer
Public Class Methods
new(api_key)
click to toggle source
# File lib/tankard/request.rb, line 11 def initialize(api_key) @http = HTTPClient.new @api_key = api_key end
Public Instance Methods
get(route, params = {})
click to toggle source
# File lib/tankard/request.rb, line 16 def get(route, params = {}) params[:key] = @api_key request = @http.get(build_request_url(route), params) raise_if_status_not_ok(request.status) load_json(request.body) end
Private Instance Methods
build_request_url(route)
click to toggle source
# File lib/tankard/request.rb, line 36 def build_request_url(route) Tankard::Configuration::BREWERYDB_URL + route end
load_json(json_data)
click to toggle source
# File lib/tankard/request.rb, line 40 def load_json(json_data) MultiJson.load(json_data) rescue MultiJson::LoadError raise Tankard::Error::LoadError end
raise_if_status_not_ok(status)
click to toggle source
# File lib/tankard/request.rb, line 25 def raise_if_status_not_ok(status) case status when 200 true when 401 fail Tankard::Error::ApiKeyUnauthorized else fail Tankard::Error::HttpError end end