brewerydb icon indicating copy to clipboard operation
brewerydb copied to clipboard

Ruby wrapper around the BreweryDb.com API

== BreweryDB API

This is a simple wrapper around the BreweryDB API packaged as a ruby gem.

  • Wraps all the API documented here: http://www.brewerydb.com/api/documentation
  • You will need to register for an API key: http://www.brewerydb.com/api/register
  • You can pass any of the options specified in the BreweryDB API

In Rails, you can configure it with initializer by creating a file named config/initializers/brewerydb.rb

BreweryDb.configure do |config| config.apikey = 'YOUR_API_KEY' end

Remember: Good People Drink Good Beer!

== Releases

0.0.4

  • properly documenting the hashie dependency

0.0.3

  • we return Hashie::Mash objects, so you can access the properties using .notation
  • search endpoint enabled

0.0.2

  • fully functional for all end points

0.0.1

  • initial release

== Examples

You can fetch beers:

response = BreweryDb.beers

response.beer.each do |beer| puts "#{beer.id}: #{beer.name}" end if response.beer

puts response.pages.page puts response.pages.total

Get a list of beers on a specific page:

response = BreweryDb.beers(:page => 10, :metadata => true) response.beer.each do |beer| puts "#{beer.id}: #{beer.name}" end if response.beer

Searching for Beers results = BreweryDb.search(:q => 'stone') results.result.each do |result| puts "#{result.id}: #{result.name} (#{result['type']})" end if results.result #check if there is a result before looping

puts "Page: #{results.pages.page}" puts "Total: #{results.pages.total}"

Get a specific beer or brewery by id:

response = BreweryDb.beer(1196) puts response.name

response = BreweryDb.brewery(1000) puts response.name

Get all the breweries around Washington DC:

response = BreweryDb.breweries(:geo => 1, :lat => 38.875532, :lng => -77.007294, :radius => 30, :units => 'm') response.brewery.each do |brewery| puts brewery.name end if response.brewery

puts response.pages.page puts response.pages.total

Categories, Styles and Glassware work as well.

Additional working examples are in the examples directory