untappd 0.0.1

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/.gitignore ADDED
@@ -0,0 +1,3 @@
1
+ pkg/*
2
+ *.gem
3
+ .bundle
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in untappd.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,30 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ untappd (0.0.1)
5
+ hashie (>= 1.0.0)
6
+ httparty (>= 0.7.3)
7
+
8
+ GEM
9
+ remote: http://rubygems.org/
10
+ specs:
11
+ crack (0.1.8)
12
+ diff-lcs (1.1.2)
13
+ hashie (1.0.0)
14
+ httparty (0.7.4)
15
+ crack (= 0.1.8)
16
+ rspec (2.5.0)
17
+ rspec-core (~> 2.5.0)
18
+ rspec-expectations (~> 2.5.0)
19
+ rspec-mocks (~> 2.5.0)
20
+ rspec-core (2.5.1)
21
+ rspec-expectations (2.5.0)
22
+ diff-lcs (~> 1.1.2)
23
+ rspec-mocks (2.5.0)
24
+
25
+ PLATFORMS
26
+ ruby
27
+
28
+ DEPENDENCIES
29
+ rspec
30
+ untappd!
data/README.rdoc ADDED
@@ -0,0 +1,44 @@
1
+ == untappd API
2
+
3
+ I have just started and would love help trying to cover all the end points.
4
+
5
+ This is a simple wrapper around the untappd API packaged as a ruby gem.
6
+
7
+ * You will need to register for an API key: http://untappd.com/api/register
8
+ * Attempting to wrap all the API documented here: http://untappd.com/api/docs/v3
9
+
10
+ == Releases
11
+
12
+ * 0.0.1 Beer Search, Info and Checkins
13
+
14
+ == Examples
15
+ Configure your API KEY
16
+
17
+ Untappd.configure do |config|
18
+ config.apikey = 'YOUR_API_KEY'
19
+ end
20
+
21
+ Get all the checkins for Arrogant Bastard Ale
22
+
23
+ checkins = Untappd.beer_checkins(18099)
24
+ checkins.each do |checkin|
25
+ puts "#{checkin.user.first_name} at #{checkin.created_at}"
26
+ end
27
+
28
+ Search for beers with the name Stone
29
+
30
+ beers = Untappd::Beer.search('stone')
31
+ beers.each do |beer|
32
+ puts "#{beer.beer_name}"
33
+ end
34
+
35
+ Get extended info for Arrogant Bastard Ale
36
+
37
+ info = Untappd::Beer.info(18099)
38
+ puts "#{info.name} by #{info.brewery}"
39
+
40
+ == Debugging
41
+ You can dump any result to see what values are available with
42
+
43
+ info = Untappd::Beer.info(18099)
44
+ puts info.inspect
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
@@ -0,0 +1,52 @@
1
+ #list the recent checkins for Arrogant Bastard Ale
2
+ require 'rubygems'
3
+ require 'untappd'
4
+
5
+ Untappd.configure do |config|
6
+ config.apikey = 'YOUR_API_KEY'
7
+ end
8
+
9
+ checkins = Untappd::Beer.checkins(18099)
10
+ checkins.each do |checkin|
11
+ puts "#{checkin.user.first_name} at #{checkin.created_at}"
12
+ end
13
+
14
+ info = Untappd::Beer.info(18099)
15
+ puts "#{info.name} by #{info.brewery}"
16
+ puts info.inspect
17
+
18
+ # Example JSON response
19
+ # {
20
+ # "next_query":"http:\/\/api.untappd.com\/v3\/beer_checkins?bid=18099&since=603321",
21
+ # "next_page":"http:\/\/api.untappd.com\/v3\/beer_checkins?bid=18099&offset=25",
22
+ # "http_code":200,
23
+ # "results":
24
+ # [
25
+ # {
26
+ # "user":
27
+ # {
28
+ # "user_name":"JJP1115",
29
+ # "first_name":"Jim",
30
+ # "last_name":"P.",
31
+ # "user_avatar":"http:\/\/gravatar.com\/avatar.php?gravatar_id=a0bb3b077c11e0c087e53212bf49ba49&rating=X&size=80&default=https:\/\/untappd.s3.amazonaws.com\/site\/assets\/images\/default_avatar.jpg",
32
+ # "location":"Berkeley,
33
+ # Illinois",
34
+ # "bio":"",
35
+ # "is_friends":null,
36
+ # "url":"http:\/\/www.facebook.com\/#!\/JPerez1115"
37
+ # },
38
+ # "checkin_id":"610208",
39
+ # "beer_id":"18099",
40
+ # "brewery_id":"1204",
41
+ # "beer_name":"Arrogant Bastard Ale",
42
+ # "brewery_name":"Stone Brewing Co.",
43
+ # "created_at":"Fri,
44
+ # 08 Apr 2011 05:24:23 +0000",
45
+ # "check_in_comment":"",
46
+ # "checkin_link":"http:\/\/untappd.com\/user\/JJP1115\/checkin\/NUekq56",
47
+ # "beer_stamp":"https:\/\/untappd.s3.amazonaws.com\/site\/beer_logos\/beer-arrogantBastardAle.jpg",
48
+ # "venue_name":null,
49
+ # "venue_id":null,
50
+ # "venue_lat":null,
51
+ # "venue_lng":null
52
+ # },
data/lib/untappd.rb ADDED
@@ -0,0 +1,21 @@
1
+ require 'rubygems'
2
+
3
+ require "untappd/base"
4
+ require "untappd/beer"
5
+
6
+ module Untappd
7
+ @apikey = nil
8
+
9
+ def self.apikey
10
+ @@apikey
11
+ end
12
+
13
+ def self.apikey=(apikey)
14
+ @@apikey = apikey
15
+ end
16
+
17
+ def self.configure
18
+ yield self
19
+ end
20
+
21
+ end
@@ -0,0 +1,20 @@
1
+ require 'httparty'
2
+ require 'hashie'
3
+
4
+ module Untappd
5
+
6
+ class Base
7
+ include HTTParty
8
+ base_uri 'http://api.untappd.com/v3'
9
+ format :json
10
+
11
+ def self.response_to_mash(response)
12
+ if response.code == 200
13
+ Hashie::Mash.new(response).results
14
+ else
15
+ Hashie::Mash.new {}
16
+ end
17
+ end
18
+ end
19
+
20
+ end
@@ -0,0 +1,32 @@
1
+ module Untappd
2
+
3
+ class Beer < Base
4
+ def self.checkins(beer_id, options={})
5
+ options.merge!({
6
+ :key => Untappd::apikey,
7
+ :bid => beer_id
8
+ })
9
+
10
+ response_to_mash get("/beer_checkins", :query => options)
11
+ end
12
+
13
+ def self.info(beer_id, options={})
14
+ options.merge!({
15
+ :key => Untappd::apikey,
16
+ :bid => beer_id
17
+ })
18
+
19
+ response_to_mash get("/beer_info", :query => options)
20
+ end
21
+
22
+ def self.search(q, options={})
23
+ options.merge!({
24
+ :key => Untappd::apikey,
25
+ :q => q
26
+ })
27
+
28
+ response_to_mash get("/beer_search", :query => options)
29
+ end
30
+ end
31
+
32
+ end
@@ -0,0 +1,3 @@
1
+ module Untappd
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,5 @@
1
+ describe 'checkins' do
2
+
3
+ pending 'write tests please!'
4
+
5
+ end
data/untappd.gemspec ADDED
@@ -0,0 +1,26 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "untappd/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "untappd"
7
+ s.version = Untappd::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["cmar"]
10
+ s.email = ["cmar@github.com"]
11
+ s.homepage = "http://cmar.me"
12
+ s.summary = %q{Wrapper around the untappd.com API}
13
+ s.description = %q{wrapper around the untappd.com API}
14
+
15
+ s.rubyforge_project = "untappd"
16
+
17
+ s.add_dependency('httparty', '>= 0.7.3')
18
+ s.add_dependency('hashie', '>= 1.0.0')
19
+
20
+ s.add_development_dependency('rspec')
21
+
22
+ s.files = `git ls-files`.split("\n")
23
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
24
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
25
+ s.require_paths = ["lib"]
26
+ end
metadata ADDED
@@ -0,0 +1,124 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: untappd
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - cmar
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-04-08 00:00:00 -04:00
19
+ default_executable:
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: hashie
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 23
46
+ segments:
47
+ - 1
48
+ - 0
49
+ - 0
50
+ version: 1.0.0
51
+ type: :runtime
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ name: rspec
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ hash: 3
62
+ segments:
63
+ - 0
64
+ version: "0"
65
+ type: :development
66
+ version_requirements: *id003
67
+ description: wrapper around the untappd.com API
68
+ email:
69
+ - cmar@github.com
70
+ executables: []
71
+
72
+ extensions: []
73
+
74
+ extra_rdoc_files: []
75
+
76
+ files:
77
+ - .gitignore
78
+ - Gemfile
79
+ - Gemfile.lock
80
+ - README.rdoc
81
+ - Rakefile
82
+ - examples/aba_checkins.rb
83
+ - lib/untappd.rb
84
+ - lib/untappd/base.rb
85
+ - lib/untappd/beer.rb
86
+ - lib/untappd/version.rb
87
+ - spec/checkins_spec.rb
88
+ - untappd.gemspec
89
+ has_rdoc: true
90
+ homepage: http://cmar.me
91
+ licenses: []
92
+
93
+ post_install_message:
94
+ rdoc_options: []
95
+
96
+ require_paths:
97
+ - lib
98
+ required_ruby_version: !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ hash: 3
104
+ segments:
105
+ - 0
106
+ version: "0"
107
+ required_rubygems_version: !ruby/object:Gem::Requirement
108
+ none: false
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ hash: 3
113
+ segments:
114
+ - 0
115
+ version: "0"
116
+ requirements: []
117
+
118
+ rubyforge_project: untappd
119
+ rubygems_version: 1.6.2
120
+ signing_key:
121
+ specification_version: 3
122
+ summary: Wrapper around the untappd.com API
123
+ test_files:
124
+ - spec/checkins_spec.rb