class PunkAPI::Client

Constants

DEFAULT_API_URL

Public Class Methods

new() click to toggle source
# File lib/punkapi/client.rb, line 8
def initialize
end

Public Instance Methods

beer(id) click to toggle source
# File lib/punkapi/client.rb, line 11
def beer(id)
  beer = request('beers', id: id)
  beer[0]
end
beers(params = {}) click to toggle source
# File lib/punkapi/client.rb, line 16
def beers(params = {})
  request('beers', params)
end
connection() click to toggle source
# File lib/punkapi/client.rb, line 37
def connection
  @connection ||= Faraday.new(DEFAULT_API_URL, ssl: { verify: false })
  @connection
end
parse(res) click to toggle source
# File lib/punkapi/client.rb, line 31
def parse(res)
  response = JSON.parse(res.body, object_class: PunkAPI::Entity)
  response.code = res.status unless res.success?
  response
end
random_beer() click to toggle source
# File lib/punkapi/client.rb, line 20
def random_beer
  beer = request('beers/random')
  beer[0]
end
request(url, params = {}) click to toggle source
# File lib/punkapi/client.rb, line 25
def request(url, params = {})
  url += "/#{params.delete(:id)}" if params[:id]
  res = connection.get url, params
  parse(res)
end