untappd-api 0.0.2 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +16 -6
- data/lib/untappd.rb +28 -0
- data/lib/untappd/api.rb +79 -0
- data/lib/untappd/client.rb +17 -0
- data/lib/untappd/client/beer.rb +65 -0
- data/lib/untappd/client/brewery.rb +48 -0
- data/lib/untappd/client/checkin.rb +113 -0
- data/lib/untappd/client/user.rb +95 -0
- data/lib/untappd/client/venue.rb +34 -0
- data/lib/untappd/configuration.rb +52 -0
- data/lib/untappd/error.rb +27 -0
- data/lib/untappd/version.rb +3 -0
- data/spec/fixtures/add_comment.json +1 -0
- data/spec/fixtures/badges.json +1 -0
- data/spec/fixtures/beer.json +1 -0
- data/spec/fixtures/beer_feed.json +1 -0
- data/spec/fixtures/beer_search.json +1 -0
- data/spec/fixtures/brewery.json +1 -0
- data/spec/fixtures/brewery_feed.json +1 -0
- data/spec/fixtures/brewery_search.json +1 -0
- data/spec/fixtures/checkin.json +1 -0
- data/spec/fixtures/checkin_details.json +1 -0
- data/spec/fixtures/delete_comment.json +1 -0
- data/spec/fixtures/distinct_beers.json +1 -0
- data/spec/fixtures/friend_feed.json +1 -0
- data/spec/fixtures/friends.json +1 -0
- data/spec/fixtures/public_feed.json +1 -0
- data/spec/fixtures/toast.json +1 -0
- data/spec/fixtures/trending_beers.json +1 -0
- data/spec/fixtures/untoast.json +1 -0
- data/spec/fixtures/user.json +1 -0
- data/spec/fixtures/user_feed.json +1 -0
- data/spec/fixtures/venue.json +1 -0
- data/spec/fixtures/venue_feed.json +1 -0
- data/spec/fixtures/wish_list.json +1 -0
- data/spec/spec_helper.rb +47 -0
- data/spec/untappd/api_spec.rb +68 -0
- data/spec/untappd/client/beer_spec.rb +102 -0
- data/spec/untappd/client/brewery_spec.rb +81 -0
- data/spec/untappd/client/checkin_spec.rb +185 -0
- data/spec/untappd/client/user_spec.rb +340 -0
- data/spec/untappd/client/venue_spec.rb +56 -0
- data/spec/untappd_spec.rb +80 -0
- data/untappd-api.gemspec +8 -2
- metadata +130 -66
- data/lib/untappd-api.rb +0 -192
- data/lib/untappd-api/version.rb +0 -3
- data/spec/untappd-api_spec.rb +0 -5
data/README.rdoc
CHANGED
@@ -4,12 +4,22 @@ A simple Ruby wrapper for accessing the Untappd API.
|
|
4
4
|
For more information, see http://untappd.com/api/dashboard.
|
5
5
|
|
6
6
|
== Usage
|
7
|
-
Each method returns a
|
7
|
+
Each method returns a Hashie::Mash representing the response.
|
8
8
|
|
9
9
|
=== Example:
|
10
|
-
require 'untappd
|
10
|
+
require 'untappd'
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
12
|
+
Untappd.configure do |config|
|
13
|
+
config.application_key = "YOUR_API_KEY")
|
14
|
+
config.username = "your_username" # Some API calls require a signed in user
|
15
|
+
config.password = "your_password" # Most API methods do not require a user
|
16
|
+
end
|
17
|
+
|
18
|
+
Untappd.beer(1234)
|
19
|
+
Untappd.user(user: 'gambrinus') # Returns the signed in user if no :user option passed
|
20
|
+
|
21
|
+
# You can change the signed in user after initial configuration
|
22
|
+
Untappd.username = "another_user"
|
23
|
+
Untappd.password = "that_guys_password"
|
24
|
+
|
25
|
+
All methods are documented in the lib/untappd/client directory.
|
data/lib/untappd.rb
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'untappd/error'
|
2
|
+
require 'untappd/configuration'
|
3
|
+
require 'untappd/api'
|
4
|
+
require 'untappd/client'
|
5
|
+
require 'untappd/version'
|
6
|
+
|
7
|
+
# Adapted from Ruby Twitter gem by John Nunemaker
|
8
|
+
# @see https://github.com/jnunemaker/twitter
|
9
|
+
module Untappd
|
10
|
+
extend Configuration
|
11
|
+
|
12
|
+
# Alias for Untappd::Client.new
|
13
|
+
#
|
14
|
+
# @return [Untappd::Client]
|
15
|
+
def self.client(options={})
|
16
|
+
Untappd::Client.new(options)
|
17
|
+
end
|
18
|
+
|
19
|
+
# Delegate to Untappd::Client
|
20
|
+
def self.method_missing(method, *args, &block)
|
21
|
+
return super unless client.respond_to?(method)
|
22
|
+
client.send(method, *args, &block)
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.respond_to?(method)
|
26
|
+
client.respond_to?(method) || super
|
27
|
+
end
|
28
|
+
end
|
data/lib/untappd/api.rb
ADDED
@@ -0,0 +1,79 @@
|
|
1
|
+
require 'httparty'
|
2
|
+
require 'hashie'
|
3
|
+
|
4
|
+
module Untappd
|
5
|
+
class API
|
6
|
+
include HTTParty
|
7
|
+
attr_accessor *Configuration::VALID_OPTIONS_KEYS
|
8
|
+
|
9
|
+
# Override these setters so that HTTParty class methods get updated as well
|
10
|
+
def endpoint=(val)
|
11
|
+
@endpoint = val
|
12
|
+
@klass.base_uri(endpoint)
|
13
|
+
end
|
14
|
+
|
15
|
+
def application_key=(val)
|
16
|
+
@application_key = val
|
17
|
+
@klass.default_params(:key => application_key)
|
18
|
+
end
|
19
|
+
|
20
|
+
# Create a new API
|
21
|
+
def initialize(options={})
|
22
|
+
@klass = self.class
|
23
|
+
options = Untappd.options.merge(options)
|
24
|
+
Configuration::VALID_OPTIONS_KEYS.each do |key|
|
25
|
+
send("#{key}=", options[key])
|
26
|
+
end
|
27
|
+
|
28
|
+
# Set HTTParty class configurations
|
29
|
+
@klass.format(:json)
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
# Wrap calls to the HTTParty get and post methods and return results as Hashie::Mash
|
35
|
+
def get(path, options={})
|
36
|
+
response = @klass.get(path, :query => options,
|
37
|
+
:basic_auth => auth).parsed_response
|
38
|
+
handle_error(response)
|
39
|
+
Hashie::Mash.new(response).results
|
40
|
+
end
|
41
|
+
|
42
|
+
def post(path, options={})
|
43
|
+
response = @klass.post(path, :body => options,
|
44
|
+
:basic_auth => auth)
|
45
|
+
handle_error(response)
|
46
|
+
Hashie::Mash.new(response)
|
47
|
+
end
|
48
|
+
|
49
|
+
def auth
|
50
|
+
if username && password
|
51
|
+
{ :username => username,
|
52
|
+
:password => Digest::MD5.hexdigest(password) }
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def handle_error(response)
|
57
|
+
message = response['error']
|
58
|
+
|
59
|
+
case response['http_code']
|
60
|
+
when 400
|
61
|
+
raise BadRequest, message
|
62
|
+
when 401
|
63
|
+
raise Unauthorized, message
|
64
|
+
when 403
|
65
|
+
raise General, message
|
66
|
+
when 404
|
67
|
+
raise NotFound, message
|
68
|
+
when 500
|
69
|
+
raise InternalError, message
|
70
|
+
when 502
|
71
|
+
raise BadGateway, message
|
72
|
+
when 503
|
73
|
+
raise Unavailable, message
|
74
|
+
when 504
|
75
|
+
raise GatewayTimeout, message
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Untappd
|
2
|
+
|
3
|
+
class Client < API
|
4
|
+
require 'untappd/client/beer'
|
5
|
+
require 'untappd/client/brewery'
|
6
|
+
require 'untappd/client/checkin'
|
7
|
+
require 'untappd/client/user'
|
8
|
+
require 'untappd/client/venue'
|
9
|
+
|
10
|
+
include Untappd::Client::Beer
|
11
|
+
include Untappd::Client::Brewery
|
12
|
+
include Untappd::Client::Checkin
|
13
|
+
include Untappd::Client::User
|
14
|
+
include Untappd::Client::Venue
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
module Untappd
|
2
|
+
class Client
|
3
|
+
module Beer
|
4
|
+
|
5
|
+
# Returns the feed for the specified beer.
|
6
|
+
#
|
7
|
+
# @format :json
|
8
|
+
# @authenticated false
|
9
|
+
# @param id [String, Integer] The ID of the beer.
|
10
|
+
# @option options [String, Integer] :since The ID of the last recent check-in.
|
11
|
+
# @option options [String, Integer] :offset The offset you would like the dataset to begin with.
|
12
|
+
# @return [Array] The requested beer feed.
|
13
|
+
# @example Retrieve the feed for beer with ID 3839.
|
14
|
+
# Untappd.beer_feed(399)
|
15
|
+
def beer_feed(id, options={})
|
16
|
+
options.merge!(:bid => id)
|
17
|
+
get('/beer_checkins', options)
|
18
|
+
end
|
19
|
+
|
20
|
+
# Returns info for the specified beer.
|
21
|
+
#
|
22
|
+
# @format :json
|
23
|
+
# @authenticated false
|
24
|
+
# @param id [String, Integer] The ID of the beer.
|
25
|
+
# @return [Hashie::Mash] The requested beer.
|
26
|
+
# @example Retrieve the beer with ID 3839.
|
27
|
+
# Untappd.beer(3839)
|
28
|
+
def beer(id)
|
29
|
+
options = { :bid => id }
|
30
|
+
get('/beer_info', options)
|
31
|
+
end
|
32
|
+
|
33
|
+
# Search beers with the specified query.
|
34
|
+
#
|
35
|
+
# @format :json
|
36
|
+
# @authenticated false
|
37
|
+
# @option options [String, Integer] :offset The offset you would like the dataset to begin with.
|
38
|
+
# @option options [String, Integer] :sort Alphabetical order ("name") or checkin count order ("count").
|
39
|
+
# @return [Array] The search results.
|
40
|
+
# @example Search beers for "Pale ale".
|
41
|
+
# Untappd.beer_search("Pale ale")
|
42
|
+
def beer_search(query, options={})
|
43
|
+
options.merge!(:q => query)
|
44
|
+
get('/beer_search', options)
|
45
|
+
end
|
46
|
+
|
47
|
+
# Returns the currently trending beers.
|
48
|
+
#
|
49
|
+
# @format :json
|
50
|
+
# @authenticated false
|
51
|
+
# @option options [String] :type "all", "macro", "micro", "local". "all" is set as default.
|
52
|
+
# @option options [String, Integer] :limit The number of records to return. (max 10)
|
53
|
+
# @option options [String, Integer] :age "daily", "weekly", "monthly".
|
54
|
+
# @option options [String, Integer] :geolat Latitude to filter results by. Required when :type => "local".
|
55
|
+
# @option options [String, Integer] :geolng Longitude to filter results by. Required when :type => "local".
|
56
|
+
# @return [Array] The search results.
|
57
|
+
# @example Return all trending beers.
|
58
|
+
# Untappd.trending_beers
|
59
|
+
def trending_beers(options={})
|
60
|
+
get('/trending', options)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module Untappd
|
2
|
+
class Client
|
3
|
+
module Brewery
|
4
|
+
|
5
|
+
# Returns the feed for the specified brewery.
|
6
|
+
#
|
7
|
+
# @format :json
|
8
|
+
# @authenticated false
|
9
|
+
# @param id [String, Integer] The ID of the brewery.
|
10
|
+
# @option options [String, Integer] :since The ID of the last recent check-in.
|
11
|
+
# @option options [String, Integer] :offset The offset you would like the dataset to begin with.
|
12
|
+
# @return [Array] The requested brewery feed.
|
13
|
+
# @example Retrieve the feed for brewery with ID 399.
|
14
|
+
# Untappd.brewery_feed(399)
|
15
|
+
def brewery_feed(id, options={})
|
16
|
+
options.merge!(:brewery_id => id)
|
17
|
+
get('/brewery_checkins', options)
|
18
|
+
end
|
19
|
+
|
20
|
+
# Returns info for the specified brewery.
|
21
|
+
#
|
22
|
+
# @format :json
|
23
|
+
# @authenticated false
|
24
|
+
# @param id [String, Integer] The ID of the brewery.
|
25
|
+
# @return [Hashie::Mash] The requested brewery.
|
26
|
+
# @example Retrieve brewery with ID 399.
|
27
|
+
# Untappd.brewery(399)
|
28
|
+
def brewery(id)
|
29
|
+
options = { :brewery_id => id }
|
30
|
+
get('/brewery_info', options)
|
31
|
+
end
|
32
|
+
|
33
|
+
# Search breweries with the specified query.
|
34
|
+
#
|
35
|
+
# @format :json
|
36
|
+
# @authenticated false
|
37
|
+
# @param query [String] The term that you want to search.
|
38
|
+
# @option options [String, Integer] :offset The offset you would like the dataset to begin with.
|
39
|
+
# @return [Array] The search results.
|
40
|
+
# @example Search breweries for "Bell's".
|
41
|
+
# Untappd.brewery_search("Bell's")
|
42
|
+
def brewery_search(query, options={})
|
43
|
+
options.merge!(:q => query)
|
44
|
+
get('/brewery_search', options)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,113 @@
|
|
1
|
+
module Untappd
|
2
|
+
class Client
|
3
|
+
module Checkin
|
4
|
+
|
5
|
+
# Returns all public checkins, otherwise known as "The Pub".
|
6
|
+
#
|
7
|
+
# @format :json
|
8
|
+
# @authenticated false
|
9
|
+
# @option options [String, Integer] :since The ID of the last recent check-in.
|
10
|
+
# @option options [String, Integer] :offset The offset you would like the dataset to begin with.
|
11
|
+
# @option options [String, Integer] :geolat Latitude to filter results by.
|
12
|
+
# @option options [String, Integer] :geolng Longitude to filter results by.
|
13
|
+
# @return [Array] The requested beer feed.
|
14
|
+
# @example Retrieve the public feed.
|
15
|
+
# Untappd.public_feed
|
16
|
+
def public_feed(options={})
|
17
|
+
get('/thepub', options)
|
18
|
+
end
|
19
|
+
|
20
|
+
# Alias for public_feed
|
21
|
+
alias_method :the_pub, :public_feed
|
22
|
+
|
23
|
+
# Returns info for the specified checkin.
|
24
|
+
#
|
25
|
+
# @format :json
|
26
|
+
# @authenticated false
|
27
|
+
# @param id [String, Integer] The ID of the checkin.
|
28
|
+
# @return [Hashie::Mash] The requested checkin.
|
29
|
+
# @example Retrieve the checkin with ID 669114 .
|
30
|
+
# Untappd.beer(3839)
|
31
|
+
def checkin_details(id)
|
32
|
+
options = { :id => id }
|
33
|
+
get('/details', options)
|
34
|
+
end
|
35
|
+
|
36
|
+
# Perform a checkin with the authenticated user.
|
37
|
+
#
|
38
|
+
# @format :json
|
39
|
+
# @authenticated true
|
40
|
+
# @param gmt_offset [String, Integer] The numeric value of hours the user is from GMT (Greenwich Mean Time).
|
41
|
+
# @param beer_id [String, Integer] The ID of the beer you wish to check into.
|
42
|
+
# @option options [String] :foursquare_id The MD5 hash ID of the Venue you want to attach the beer checkin to.
|
43
|
+
# @option options [String] :shout The text you would like included as a comment. Max of 140 characters.
|
44
|
+
# @option options [String, Integer] :rating_value The score you would like to add for the beer. Must be whole numbers from 1 to 5.
|
45
|
+
# @option options [String, Integer] :user_lat Latitude of the user. Required if you want to add a location to the checkin.
|
46
|
+
# @option options [String, Integer] :user_lng Longitude of the user. Required if you want to add a location to the checkin.
|
47
|
+
# @option options [String] :facebook Set to "on" to post checkin to Facebook. Defaults to "off".
|
48
|
+
# @option options [String] :twitter Set to "on" to post checkin to Twitter. Defaults to "off".
|
49
|
+
# @option options [String] :foursquare Set to "on" to pass checkin on to Foursquare. Defaults to "off".
|
50
|
+
# @option options [String] :gowalla Set to "on" to pass checkin on to Gowalla. Defaults to "off".
|
51
|
+
# @return [Hashie::Mash] The results of the checkin. Includes info for beer, venue, badges earned, and recommendations.
|
52
|
+
# @example Checkin to beer with ID 6284 from Eastern time zone (GMT - 5 hours).
|
53
|
+
# Untappd.checkin(-5, 6284)
|
54
|
+
def checkin(beer_id, gmt_offset, options={})
|
55
|
+
options.merge!(:gmt_offset => gmt_offset, :bid => beer_id)
|
56
|
+
post('/checkin', options)
|
57
|
+
end
|
58
|
+
|
59
|
+
# Add a comment to a checkin.
|
60
|
+
#
|
61
|
+
# @format :json
|
62
|
+
# @authenticated true
|
63
|
+
# @param checkin_id [String, Integer] The ID of the checkin you wish to comment on.
|
64
|
+
# @param comment [String] The comment text you would like to add. Max 140 characters.
|
65
|
+
# @return [Hashie::Mash] The results of adding the comment. Includes user and comment details.
|
66
|
+
# @example Comment on checkin with ID 669114 and comment text of "Nice."
|
67
|
+
# Untappd.add_comment(669114, "Nice.")
|
68
|
+
def add_comment(checkin_id, comment)
|
69
|
+
options = { :checkin_id => checkin_id, :comment => comment }
|
70
|
+
post('/add_comment', options)
|
71
|
+
end
|
72
|
+
|
73
|
+
# Delete a comment made by the authenticated user.
|
74
|
+
#
|
75
|
+
# @format :json
|
76
|
+
# @authenticated true
|
77
|
+
# @param comment_id [String, Integer] The ID of the comment you wish to delete.
|
78
|
+
# @return [Hashie::Mash] The results of deleting the comment.
|
79
|
+
# @example Delete comment with ID 669114.
|
80
|
+
# Untappd.delete_comment(669114)
|
81
|
+
def delete_comment(comment_id)
|
82
|
+
options = { :comment_id => comment_id }
|
83
|
+
post('/delete_comment', options)
|
84
|
+
end
|
85
|
+
|
86
|
+
# Toast a checkin.
|
87
|
+
#
|
88
|
+
# @format :json
|
89
|
+
# @authenticated true
|
90
|
+
# @param checkin_id [String, Integer] The ID of the checkin you wish to toast.
|
91
|
+
# @return [Hashie::Mash] The results of the toast.
|
92
|
+
# @example Toast checkin with ID 669114.
|
93
|
+
# Untappd.toast(669114)
|
94
|
+
def toast(checkin_id)
|
95
|
+
options = { :checkin_id => checkin_id }
|
96
|
+
post('/toast', options)
|
97
|
+
end
|
98
|
+
|
99
|
+
# Remove a toast made by the authenticated user from a checkin.
|
100
|
+
#
|
101
|
+
# @format :json
|
102
|
+
# @authenticated true
|
103
|
+
# @param checkin_id [String, Integer] The ID of the checkin you wish to remove your toast from.
|
104
|
+
# @return [Hashie::Mash] The results of the toast removal.
|
105
|
+
# @example Remove toast from checkin with ID 669114.
|
106
|
+
# Untappd.remove_toast(669114)
|
107
|
+
def untoast(checkin_id)
|
108
|
+
options = { :checkin_id => checkin_id }
|
109
|
+
post('/delete_toast', options)
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
@@ -0,0 +1,95 @@
|
|
1
|
+
module Untappd
|
2
|
+
class Client
|
3
|
+
module User
|
4
|
+
|
5
|
+
# Returns the feed for the specified user.
|
6
|
+
#
|
7
|
+
# @format :json
|
8
|
+
# @authenticated false unless :name option is omitted.
|
9
|
+
# @option options [String] :user The user whose feed you wish to request. If not provided, the feed of the authenticated user will be returned.
|
10
|
+
# @option options [String, Integer] :since The ID of the last recent check-in.
|
11
|
+
# @option options [String, Integer] :offset The offset you would like the dataset to begin with.
|
12
|
+
# @return [Hashie::Mash] The requested user feed.
|
13
|
+
# @example Retrieve the feed for user with username "gambrinus".
|
14
|
+
# Untappd.user_feed(:user => "gambrinus")
|
15
|
+
def user_feed(options={})
|
16
|
+
get('/user_feed', options)
|
17
|
+
end
|
18
|
+
|
19
|
+
# Returns the friend feed for the authenticated user.
|
20
|
+
#
|
21
|
+
# @format :json
|
22
|
+
# @authenticated true
|
23
|
+
# @option options [String, Integer] :since The ID of the last recent check-in.
|
24
|
+
# @option options [String, Integer] :offset The offset you would like the dataset to begin with.
|
25
|
+
# @return [Hashie::Mash] The requested friend feed of the authenticated user.
|
26
|
+
# @example Retrieve the friend feed for the authenticated user.
|
27
|
+
# Untappd.friend_feed
|
28
|
+
def friend_feed(options={})
|
29
|
+
get('/feed', options)
|
30
|
+
end
|
31
|
+
|
32
|
+
# Returns the info for the requested user.
|
33
|
+
#
|
34
|
+
# @format :json
|
35
|
+
# @authenticated false unless :user option is omitted.
|
36
|
+
# @option options [String] :user The username of the user you wish to request info for. Returns info for authenticated user if omitted.
|
37
|
+
# @return [Hashie::Mash] The requested user info.
|
38
|
+
# @example Retrieve the info for the user with username "gambrinus".
|
39
|
+
# Untappd.user(:user => "gambrinus')
|
40
|
+
def user(options={})
|
41
|
+
get('/user', options)
|
42
|
+
end
|
43
|
+
|
44
|
+
# Returns the badge info for the requested user.
|
45
|
+
#
|
46
|
+
# @format :json
|
47
|
+
# @authenticated false unless :user option is omitted.
|
48
|
+
# @option options [String] :user The username of the user you wish to request info for. Returns info for authenticated user if omitted.
|
49
|
+
# @return [Hashie::Mash] The badge info for the requested user.
|
50
|
+
# @example Retrieve the badge info for the user with username "gambrinus".
|
51
|
+
# Untappd.badges(:user => "gambrinus')
|
52
|
+
def badges(options={})
|
53
|
+
get('/user_badge', options)
|
54
|
+
end
|
55
|
+
|
56
|
+
# Returns the friends for the requested user.
|
57
|
+
#
|
58
|
+
# @format :json
|
59
|
+
# @authenticated false unless :user option is omitted.
|
60
|
+
# @option options [String] :user The username of the user you wish to request info for. Returns info for authenticated user if omitted.
|
61
|
+
# @return [Hashie::Mash] The friends of the requested user.
|
62
|
+
# @example Retrieve the friends of the user with username "gambrinus".
|
63
|
+
# Untappd.friends(:user => "gambrinus')
|
64
|
+
def friends(options={})
|
65
|
+
get('/friends', options)
|
66
|
+
end
|
67
|
+
|
68
|
+
# Returns the wish list of the requested user.
|
69
|
+
#
|
70
|
+
# @format :json
|
71
|
+
# @authenticated false unless :user option is omitted.
|
72
|
+
# @option options [String] :user The username of the user you wish to request info for. Returns info for authenticated user if omitted.
|
73
|
+
# @option options [String, Integer] :offset The offset you would like the dataset to begin with.
|
74
|
+
# @return [Hashie::Mash] The wish list of the requested user.
|
75
|
+
# @example Retrieve the wish list of the user with username "gambrinus".
|
76
|
+
# Untappd.wish_list(:user => "gambrinus')
|
77
|
+
def wish_list(options={})
|
78
|
+
get('/wish_list', options)
|
79
|
+
end
|
80
|
+
|
81
|
+
# Returns the distinct beers of the requested user.
|
82
|
+
#
|
83
|
+
# @format :json
|
84
|
+
# @authenticated false unless :user option is omitted.
|
85
|
+
# @option options [String] :user The username of the user you wish to request info for. Returns info for authenticated user if omitted.
|
86
|
+
# @option options [String, Integer] :offset The offset you would like the dataset to begin with.
|
87
|
+
# @return [Hashie::Mash] The distinct beers of the requested user.
|
88
|
+
# @example Retrieve the distinct beers of the user with username "gambrinus".
|
89
|
+
# Untappd.distinct_beers(:user => "gambrinus')
|
90
|
+
def distinct_beers(options={})
|
91
|
+
get('/user_distinct', options)
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|