Sha256: a7c5be09a7d726b750b85d4aefdb1987e93ad0b2ad793ab1d7b7efa9b78ea84a
Contents?: true
Size: 936 Bytes
Versions: 2
Compression:
Stored size: 936 Bytes
Contents
require 'multi_json' require 'httpclient' require 'tankard/error' module Tankard class Request def initialize(api_key) @http = HTTPClient.new @api_key = api_key end 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 def raise_if_status_not_ok(status) case status when 200 true when 401 raise Tankard::Error::ApiKeyUnauthorized else raise Tankard::Error::HttpError end end def build_request_url(route) Tankard::Configuration::BREWERYDB_URL + route end def load_json(json_data) begin MultiJson.load(json_data) rescue MultiJson::LoadError raise Tankard::Error::LoadError end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
tankard-0.1.0 | lib/tankard/request.rb |
tankard-0.0.1 | lib/tankard/request.rb |