class Tankard::Api::Beer
Access for the /beer route on brewerydb
@see www.brewerydb.com/developers/docs-endpoint/beer_index @author Matthew Shafer
Attributes
http_client[R]
http_request_parameters[R]
Public Class Methods
new(request, options = {})
click to toggle source
Initialize a new object
@param request [Tankard::Request] @param options [Hash] @return [Tankard::Api::Beer]
# File lib/tankard/api/beer.rb, line 21 def initialize(request, options = {}) @http_client = request @http_request_parameters = Hashie::Mash.new(options) end
Public Instance Methods
breweries()
click to toggle source
Sets the request to beer/:id/breweries
@return [self] returns itself
# File lib/tankard/api/beer.rb, line 57 def breweries @http_request_parameters.endpoint = 'breweries' self end
events()
click to toggle source
Sets the request to beer/:id/events
@return [self] returns itself
# File lib/tankard/api/beer.rb, line 65 def events @http_request_parameters.endpoint = 'events' self end
id(beer_id)
click to toggle source
BeerID to query
@param beer_id [String] @return [self] returns itself
# File lib/tankard/api/beer.rb, line 49 def id(beer_id) @http_request_parameters.id = beer_id self end
ingredients()
click to toggle source
Sets the request to beer/:id/ingredients
@return [self] returns itself
# File lib/tankard/api/beer.rb, line 73 def ingredients @http_request_parameters.endpoint = 'ingredients' self end
params(options = {})
click to toggle source
Additional parameters to send with the request
@param options [Hash] @return [self] returns itself
# File lib/tankard/api/beer.rb, line 98 def params(options = {}) options.each_pair do |key, value| @http_request_parameters[key] = value end self end
variations()
click to toggle source
Sets the request to beer/:id/variations
@return [self] returns itself
# File lib/tankard/api/beer.rb, line 89 def variations @http_request_parameters.endpoint = 'variations' self end
Private Instance Methods
http_request_uri()
click to toggle source
# File lib/tankard/api/beer.rb, line 110 def http_request_uri @request_endpoint = "/#{@http_request_parameters.delete(:endpoint)}" if @http_request_parameters.endpoint? endpoint = "#{route}/#{raise_if_no_id_in_options}" endpoint += @request_endpoint if @request_endpoint endpoint end
raise_if_no_id_in_options()
click to toggle source
# File lib/tankard/api/beer.rb, line 117 def raise_if_no_id_in_options @beer_id = @http_request_parameters.delete(:id) if @http_request_parameters.id? fail Tankard::Error::MissingParameter, 'No Beer ID is set' unless @beer_id @beer_id end
route()
click to toggle source
# File lib/tankard/api/beer.rb, line 123 def route 'beer' end