brewerydb 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.rdoc CHANGED
@@ -4,7 +4,7 @@ This is a simple wrapper around the BreweryDB API packaged as a ruby gem.
4
4
 
5
5
  * Wraps all the API documented here: http://www.brewerydb.com/api/documentation
6
6
  * You will need to register for an API key: http://www.brewerydb.com/api/register
7
- * ALPHA - no tests yet, works but could/might/will change
7
+ * You can pass any of the options specified in the BreweryDB API
8
8
 
9
9
  In Rails, you can configure it with initializer by creating a file
10
10
  named config/initializers/brewerydb.rb
@@ -13,6 +13,8 @@ named config/initializers/brewerydb.rb
13
13
  config.apikey = 'c01822f029486661bb3669a845b5ec14'
14
14
  end
15
15
 
16
+ Remember: Good People Drink Good Beer!
17
+
16
18
  == Examples
17
19
 
18
20
  You can fetch beers:
@@ -20,6 +22,7 @@ You can fetch beers:
20
22
  response = BreweryDb.beers
21
23
  response['beer'].each do |beer|
22
24
  puts "#{beer['id']}: #{beer['name']}"
25
+ end
23
26
  end
24
27
  puts response['pages']['page']
25
28
  puts response['pages']['total']
@@ -28,7 +31,7 @@ Get a list of beers on a specific page:
28
31
 
29
32
  response = BreweryDb.beers(:page => 10, :metadata => true)
30
33
  response['beer'].each do |beer|
31
- puts "#{beer['id']}: #{beer['name']}"
34
+ puts "#{beer['id']}: #{beer['name']}"
32
35
  end
33
36
 
34
37
  Get a specific beer or brewery by id:
@@ -53,4 +56,4 @@ Get all the breweries around Washington DC:
53
56
  puts response['pages']['page']
54
57
  puts response['pages']['total']
55
58
 
56
-
59
+ Categories, Styles and Glassware work as well.
data/brewerydb.gemspec CHANGED
@@ -10,10 +10,13 @@ Gem::Specification.new do |s|
10
10
  s.email = ["chris@hopshunter.com"]
11
11
  s.homepage = "http://www.hopshunter.com"
12
12
  s.summary = %q{Simple Wrapper around the BreweryDB API}
13
- s.description = %q{Simple Wrapper around the BreweryDB API. The data is open and shared be sure to contribute back.}
13
+ s.description = %q{Free Beer data. You'll need an api key.}
14
14
 
15
15
  s.rubyforge_project = "brewerydb"
16
16
 
17
+ s.add_dependency('httparty', '>= 0.7.3')
18
+ s.add_development_dependency('rspec')
19
+
17
20
  s.files = `git ls-files`.split("\n")
18
21
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
22
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
@@ -0,0 +1,18 @@
1
+ require 'rubygems'
2
+ require 'brewerydb'
3
+
4
+ # Gets all the dogfish head beers. make sure you
5
+ # set your API KEY
6
+
7
+ BreweryDb.configure do |config|
8
+ config.apikey = 'XX'
9
+ end
10
+
11
+ # Get all the DogFish Head Beers
12
+ beers = BreweryDb.beers(:brewery_id => 459)
13
+ beers['beer'].each do |beer|
14
+ puts beer['name']
15
+ end
16
+
17
+ puts "Page: #{beers['pages']['page']}"
18
+ puts "Total: #{beers['pages']['total']}"
@@ -1,3 +1,3 @@
1
1
  module Brewerydb
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -0,0 +1,99 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe "brewerydb" do
4
+
5
+ it "should configure Rails initializer style" do
6
+ BreweryDb.configure do |config|
7
+ config.apikey = 'c01822f029486661bb3669a845b5ec14'
8
+ end
9
+
10
+ BreweryDb.apikey.should eq 'c01822f029486661bb3669a845b5ec14'
11
+ end
12
+
13
+ describe "Breweries" do
14
+ before(:each) do
15
+ @response = mock_httparty_response({
16
+ "breweries" => {'brewery' => {'name' => 'dogfish head'}}
17
+ })
18
+ BreweryDb.should_receive(:get).and_return(@response)
19
+ end
20
+
21
+ it "should retrieve a list of breweries" do
22
+ BreweryDb.breweries['brewery']['name'].should == 'dogfish head'
23
+ end
24
+
25
+ it "should retrieve a specific brewery" do
26
+ BreweryDb.brewery(1000)['name'].should == 'dogfish head'
27
+ end
28
+ end
29
+
30
+ describe "Beers" do
31
+ before(:each) do
32
+ @response = mock_httparty_response({
33
+ "beers" => {'beer' => {'name' => 'midas touch'},
34
+ 'pages' => {'page' => 1, 'total' => 20 }
35
+ }
36
+ })
37
+ BreweryDb.should_receive(:get).and_return(@response)
38
+ end
39
+
40
+ it "should retrieve a list of breweries" do
41
+ BreweryDb.beers['beer']['name'].should == 'midas touch'
42
+ end
43
+
44
+ it "should retrieve a specific brewery" do
45
+ BreweryDb.beer(1000)['name'].should == 'midas touch'
46
+ end
47
+ end
48
+
49
+ describe "Categories" do
50
+ before(:each) do
51
+ @response = mock_httparty_response({
52
+ "categories" => {'category' => {'name' => 'stout'}}
53
+ })
54
+ BreweryDb.should_receive(:get).and_return(@response)
55
+ end
56
+
57
+ it "should retrieve a list of categories" do
58
+ BreweryDb.categories['category']['name'].should == 'stout'
59
+ end
60
+
61
+ it "should retrieve a specific category" do
62
+ BreweryDb.category(1000)['name'].should == 'stout'
63
+ end
64
+ end
65
+
66
+ describe "Styles" do
67
+ before(:each) do
68
+ @response = mock_httparty_response({
69
+ "styles" => {'style' => {'name' => 'ale'}}
70
+ })
71
+ BreweryDb.should_receive(:get).and_return(@response)
72
+ end
73
+
74
+ it "should retrieve a list of categories" do
75
+ BreweryDb.styles['style']['name'].should == 'ale'
76
+ end
77
+
78
+ it "should retrieve a specific category" do
79
+ BreweryDb.style(1)['name'].should == 'ale'
80
+ end
81
+ end
82
+
83
+ describe "Glassware" do
84
+ before(:each) do
85
+ @response = mock_httparty_response({
86
+ "glassware" => {'glass' => {'name' => 'mug'}}
87
+ })
88
+ BreweryDb.should_receive(:get).and_return(@response)
89
+ end
90
+
91
+ it "should retrieve a list of categories" do
92
+ BreweryDb.glassware['glass']['name'].should == 'mug'
93
+ end
94
+
95
+ it "should retrieve a specific category" do
96
+ BreweryDb.glass(1)['name'].should == 'mug'
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,12 @@
1
+ $TESTING=true
2
+ $:.push File.join(File.dirname(__FILE__), '..', 'lib')
3
+
4
+ require 'brewerydb'
5
+
6
+ def mock_httparty_response(parsed_response)
7
+ request_object = HTTParty::Request.new Net::HTTP::Get, '/'
8
+ response_object = Net::HTTPOK.new('1.1', 200, 'OK')
9
+ response_object.stub(:body => "{foo:'bar'}")
10
+
11
+ HTTParty::Response.new(request_object, response_object, parsed_response)
12
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brewerydb
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
10
- version: 0.0.1
9
+ - 2
10
+ version: 0.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Chris Mar
@@ -17,9 +17,38 @@ cert_chain: []
17
17
 
18
18
  date: 2011-03-07 00:00:00 -05:00
19
19
  default_executable:
20
- dependencies: []
21
-
22
- description: Simple Wrapper around the BreweryDB API. The data is open and shared be sure to contribute back.
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: httparty
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 5
30
+ segments:
31
+ - 0
32
+ - 7
33
+ - 3
34
+ version: 0.7.3
35
+ type: :runtime
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: rspec
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 3
46
+ segments:
47
+ - 0
48
+ version: "0"
49
+ type: :development
50
+ version_requirements: *id002
51
+ description: Free Beer data. You'll need an api key.
23
52
  email:
24
53
  - chris@hopshunter.com
25
54
  executables: []
@@ -34,8 +63,11 @@ files:
34
63
  - README.rdoc
35
64
  - Rakefile
36
65
  - brewerydb.gemspec
66
+ - examples/dogfish_beers.rb
37
67
  - lib/brewerydb.rb
38
68
  - lib/brewerydb/version.rb
69
+ - spec/brewerydb_spec.rb
70
+ - spec/spec_helper.rb
39
71
  has_rdoc: true
40
72
  homepage: http://www.hopshunter.com
41
73
  licenses: []
@@ -70,5 +102,6 @@ rubygems_version: 1.6.1
70
102
  signing_key:
71
103
  specification_version: 3
72
104
  summary: Simple Wrapper around the BreweryDB API
73
- test_files: []
74
-
105
+ test_files:
106
+ - spec/brewerydb_spec.rb
107
+ - spec/spec_helper.rb