foursquare2 1.2.0 → 1.3.0
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.md +2 -0
- data/VERSION +1 -1
- data/foursquare2.gemspec +3 -2
- data/lib/foursquare2/client.rb +6 -1
- data/lib/foursquare2/photos.rb +18 -1
- data/lib/foursquare2/users.rb +11 -0
- data/test/fixtures/user_mayorships.json +77 -0
- data/test/test_users.rb +5 -0
- metadata +192 -122
data/Readme.md
CHANGED
@@ -71,6 +71,7 @@ See [the documentation](http://rubydoc.info/gems/foursquare2/frames) or [foursqu
|
|
71
71
|
client.add_checkin_comment
|
72
72
|
client.delete_checkin_comment
|
73
73
|
client.photo
|
74
|
+
client.add_photo
|
74
75
|
client.settings
|
75
76
|
client.setting
|
76
77
|
client.update_setting
|
@@ -89,6 +90,7 @@ See [the documentation](http://rubydoc.info/gems/foursquare2/frames) or [foursqu
|
|
89
90
|
client.user_checkins
|
90
91
|
client.user_friends
|
91
92
|
client.user_tips
|
93
|
+
client.user_mayorships
|
92
94
|
client.user_todos
|
93
95
|
client.user_venue_history
|
94
96
|
client.user_friend_request
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.3.0
|
data/foursquare2.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{foursquare2}
|
8
|
-
s.version = "1.
|
8
|
+
s.version = "1.3.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Matt Mueller", "Marco Moura"]
|
12
|
-
s.date = %q{2011-
|
12
|
+
s.date = %q{2011-11-30}
|
13
13
|
s.description = %q{Gives access to all endpoints in version 2 of foursquare's API with syntax that will be familiar to those who used the original foursquare gem by Jeremy Welch.}
|
14
14
|
s.email = ["muellermr@gmail.com", "email@marcomoura.com"]
|
15
15
|
s.extra_rdoc_files = [
|
@@ -50,6 +50,7 @@ Gem::Specification.new do |s|
|
|
50
50
|
"test/fixtures/special.json",
|
51
51
|
"test/fixtures/tip.json",
|
52
52
|
"test/fixtures/user.json",
|
53
|
+
"test/fixtures/user_mayorships.json",
|
53
54
|
"test/fixtures/user_tips.json",
|
54
55
|
"test/fixtures/user_tips_empty.json",
|
55
56
|
"test/fixtures/venue.json",
|
data/lib/foursquare2/client.rb
CHANGED
@@ -43,9 +43,14 @@ module Foursquare2
|
|
43
43
|
params[:client_secret] = @client_secret if @client_secret
|
44
44
|
params[:oauth_token] = @oauth_token if @oauth_token
|
45
45
|
@connection ||= Faraday::Connection.new(:url => api_url, :ssl => @ssl, :params => params, :headers => default_headers) do |builder|
|
46
|
-
builder.
|
46
|
+
builder.use Faraday::Request::Multipart
|
47
|
+
builder.use Faraday::Request::UrlEncoded
|
48
|
+
|
47
49
|
builder.use Faraday::Response::Mashify
|
48
50
|
builder.use Faraday::Response::ParseJson
|
51
|
+
|
52
|
+
builder.adapter Faraday.default_adapter
|
53
|
+
|
49
54
|
end
|
50
55
|
end
|
51
56
|
|
data/lib/foursquare2/photos.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module Foursquare2
|
2
2
|
module Photos
|
3
3
|
|
4
|
-
#
|
4
|
+
# Retrieve a photo
|
5
5
|
#
|
6
6
|
# @params [String] photo_id - The ID of the photo
|
7
7
|
|
@@ -9,6 +9,23 @@ module Foursquare2
|
|
9
9
|
response = connection.get("photos/#{photo_id}")
|
10
10
|
return_error_or_body(response, response.body.response.photo)
|
11
11
|
end
|
12
|
+
|
13
|
+
# Add a photo
|
14
|
+
#
|
15
|
+
# @param [Hash] options
|
16
|
+
# @option options UploadIO :photo - the photo. Like Faraday::UploadIO.new('pic_path', 'image/jpeg')
|
17
|
+
# @option options String :checkinId - the ID of a checkin owned by the user
|
18
|
+
# @option options String :tipId - the ID of a tip owned by the user
|
19
|
+
# @option options String :venueId - the ID of a venue
|
20
|
+
# @option options String :broadcast - Required, one or more of private,public,facebook,twitter. Comma-separated.
|
21
|
+
# @option options String :ll - Latitude and longitude in format LAT,LON
|
22
|
+
# @option options Integer :llAcc - Accuracy of the lat/lon in meters.
|
23
|
+
# @option options Integer :alt - Altitude in meters
|
24
|
+
# @option options Integer :altAcc - Accuracy of the altitude in meters
|
25
|
+
def add_photo(options={})
|
26
|
+
response = connection.post('photos/add', options)
|
27
|
+
return_error_or_body(response, response.body.response.photo)
|
28
|
+
end
|
12
29
|
|
13
30
|
end
|
14
31
|
end
|
data/lib/foursquare2/users.rb
CHANGED
@@ -143,6 +143,17 @@ module Foursquare2
|
|
143
143
|
return_error_or_body(response, response.body.response.venues)
|
144
144
|
end
|
145
145
|
|
146
|
+
# Get the mayorships for a given user.
|
147
|
+
#
|
148
|
+
# @param [String] user_id - The user to retrieve friends for.
|
149
|
+
|
150
|
+
def user_mayorships(user_id)
|
151
|
+
response = connection.get do |req|
|
152
|
+
req.url "users/#{user_id}/mayorships"
|
153
|
+
end
|
154
|
+
return_error_or_body(response, response.body.response.mayorships)
|
155
|
+
end
|
156
|
+
|
146
157
|
# Request friendship with a user
|
147
158
|
#
|
148
159
|
# @param [String] user_id - The user to request friendship with.
|
@@ -0,0 +1,77 @@
|
|
1
|
+
{
|
2
|
+
"meta": {
|
3
|
+
"code": 200
|
4
|
+
},
|
5
|
+
"notifications": [
|
6
|
+
{
|
7
|
+
"type": "notificationTray",
|
8
|
+
"item": {
|
9
|
+
"unreadCount": 0
|
10
|
+
}
|
11
|
+
}
|
12
|
+
],
|
13
|
+
"response": {
|
14
|
+
"mayorships": {
|
15
|
+
"count": 2,
|
16
|
+
"items": [
|
17
|
+
{
|
18
|
+
"venue": {
|
19
|
+
"id": "4b93d555f964a520125434e3",
|
20
|
+
"name": "Amelia river golf course",
|
21
|
+
"contact": {},
|
22
|
+
"location": {
|
23
|
+
"lat": 30.602988,
|
24
|
+
"lng": -81.461325,
|
25
|
+
"city": "Fernandina Beach",
|
26
|
+
"state": "Florida"
|
27
|
+
},
|
28
|
+
"categories": [],
|
29
|
+
"verified": false,
|
30
|
+
"stats": {
|
31
|
+
"checkinsCount": 8,
|
32
|
+
"usersCount": 6,
|
33
|
+
"tipCount": 0
|
34
|
+
}
|
35
|
+
}
|
36
|
+
},
|
37
|
+
{
|
38
|
+
"venue": {
|
39
|
+
"id": "4c59f84a6407d13a9795b328",
|
40
|
+
"name": "The Bloomy Rind",
|
41
|
+
"contact": {},
|
42
|
+
"location": {
|
43
|
+
"lat": 36.150177983333336,
|
44
|
+
"lng": -86.83967341666667
|
45
|
+
},
|
46
|
+
"categories": [
|
47
|
+
{
|
48
|
+
"id": "4bf58dd8d48988d1c4941735",
|
49
|
+
"name": "Restaurant",
|
50
|
+
"pluralName": "Restaurants",
|
51
|
+
"shortName": "Other - Food",
|
52
|
+
"icon": {
|
53
|
+
"prefix": "https://foursquare.com/img/categories/food/default_",
|
54
|
+
"sizes": [
|
55
|
+
32,
|
56
|
+
44,
|
57
|
+
64,
|
58
|
+
88,
|
59
|
+
256
|
60
|
+
],
|
61
|
+
"name": ".png"
|
62
|
+
},
|
63
|
+
"primary": true
|
64
|
+
}
|
65
|
+
],
|
66
|
+
"verified": false,
|
67
|
+
"stats": {
|
68
|
+
"checkinsCount": 8,
|
69
|
+
"usersCount": 4,
|
70
|
+
"tipCount": 0
|
71
|
+
}
|
72
|
+
}
|
73
|
+
}
|
74
|
+
]
|
75
|
+
}
|
76
|
+
}
|
77
|
+
}
|
data/test/test_users.rb
CHANGED
@@ -56,5 +56,10 @@ class TestUsers < Test::Unit::TestCase
|
|
56
56
|
users.size.should == 0
|
57
57
|
end
|
58
58
|
|
59
|
+
should "find a users mayorships" do
|
60
|
+
stub_get("https://api.foursquare.com/v2/users/self/mayorships?oauth_token=#{@client.oauth_token}", "user_mayorships.json")
|
61
|
+
mayorships = @client.user_mayorships('self')
|
62
|
+
mayorships.items.size.should == 2
|
63
|
+
end
|
59
64
|
end
|
60
65
|
end
|
metadata
CHANGED
@@ -1,158 +1,221 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: foursquare2
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 3
|
9
|
+
- 0
|
10
|
+
version: 1.3.0
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Matt Mueller
|
9
14
|
- Marco Moura
|
10
15
|
autorequire:
|
11
16
|
bindir: bin
|
12
17
|
cert_chain: []
|
13
|
-
|
18
|
+
|
19
|
+
date: 2011-11-30 00:00:00 -06:00
|
14
20
|
default_executable:
|
15
|
-
dependencies:
|
16
|
-
- !ruby/object:Gem::Dependency
|
17
|
-
|
18
|
-
requirement: &
|
21
|
+
dependencies:
|
22
|
+
- !ruby/object:Gem::Dependency
|
23
|
+
type: :runtime
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
19
25
|
none: false
|
20
|
-
requirements:
|
26
|
+
requirements:
|
21
27
|
- - <
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 27
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
- 8
|
33
|
+
version: "0.8"
|
34
|
+
- - ">="
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
hash: 7
|
37
|
+
segments:
|
38
|
+
- 0
|
39
|
+
- 6
|
40
|
+
version: "0.6"
|
41
|
+
name: faraday
|
42
|
+
version_requirements: *id001
|
28
43
|
prerelease: false
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
requirement: &10695760 !ruby/object:Gem::Requirement
|
44
|
+
- !ruby/object:Gem::Dependency
|
45
|
+
type: :runtime
|
46
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
33
47
|
none: false
|
34
|
-
requirements:
|
48
|
+
requirements:
|
35
49
|
- - <
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
hash: 27
|
52
|
+
segments:
|
53
|
+
- 0
|
54
|
+
- 8
|
55
|
+
version: "0.8"
|
56
|
+
- - ">="
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
hash: 7
|
59
|
+
segments:
|
60
|
+
- 0
|
61
|
+
- 6
|
62
|
+
version: "0.6"
|
63
|
+
name: faraday_middleware
|
64
|
+
version_requirements: *id002
|
42
65
|
prerelease: false
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
requirement: &10691680 !ruby/object:Gem::Requirement
|
66
|
+
- !ruby/object:Gem::Dependency
|
67
|
+
type: :runtime
|
68
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
47
69
|
none: false
|
48
|
-
requirements:
|
70
|
+
requirements:
|
49
71
|
- - ~>
|
50
|
-
- !ruby/object:Gem::Version
|
51
|
-
|
52
|
-
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
hash: 15
|
74
|
+
segments:
|
75
|
+
- 1
|
76
|
+
- 0
|
77
|
+
version: "1.0"
|
78
|
+
name: hashie
|
79
|
+
version_requirements: *id003
|
53
80
|
prerelease: false
|
54
|
-
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: shoulda
|
57
|
-
requirement: &10689700 !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
|
-
requirements:
|
60
|
-
- - ! '>='
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: '0'
|
81
|
+
- !ruby/object:Gem::Dependency
|
63
82
|
type: :development
|
83
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
84
|
+
none: false
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
hash: 3
|
89
|
+
segments:
|
90
|
+
- 0
|
91
|
+
version: "0"
|
92
|
+
name: shoulda
|
93
|
+
version_requirements: *id004
|
64
94
|
prerelease: false
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
requirement: &10654920 !ruby/object:Gem::Requirement
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
type: :development
|
97
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
69
98
|
none: false
|
70
|
-
requirements:
|
99
|
+
requirements:
|
71
100
|
- - ~>
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
|
74
|
-
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
hash: 15
|
103
|
+
segments:
|
104
|
+
- 1
|
105
|
+
- 0
|
106
|
+
version: "1.0"
|
107
|
+
name: bundler
|
108
|
+
version_requirements: *id005
|
75
109
|
prerelease: false
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
requirement: &10651560 !ruby/object:Gem::Requirement
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
type: :development
|
112
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
80
113
|
none: false
|
81
|
-
requirements:
|
114
|
+
requirements:
|
82
115
|
- - ~>
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
|
85
|
-
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
hash: 5
|
118
|
+
segments:
|
119
|
+
- 1
|
120
|
+
- 5
|
121
|
+
version: "1.5"
|
122
|
+
name: jeweler
|
123
|
+
version_requirements: *id006
|
86
124
|
prerelease: false
|
87
|
-
|
88
|
-
- !ruby/object:Gem::Dependency
|
89
|
-
name: rcov
|
90
|
-
requirement: &10634900 !ruby/object:Gem::Requirement
|
91
|
-
none: false
|
92
|
-
requirements:
|
93
|
-
- - ! '>='
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
96
126
|
type: :development
|
127
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
128
|
+
none: false
|
129
|
+
requirements:
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
hash: 3
|
133
|
+
segments:
|
134
|
+
- 0
|
135
|
+
version: "0"
|
136
|
+
name: rcov
|
137
|
+
version_requirements: *id007
|
97
138
|
prerelease: false
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
requirement: &10632100 !ruby/object:Gem::Requirement
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
type: :development
|
141
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
102
142
|
none: false
|
103
|
-
requirements:
|
143
|
+
requirements:
|
104
144
|
- - ~>
|
105
|
-
- !ruby/object:Gem::Version
|
106
|
-
|
107
|
-
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
hash: 9
|
147
|
+
segments:
|
148
|
+
- 1
|
149
|
+
- 3
|
150
|
+
version: "1.3"
|
151
|
+
name: fakeweb
|
152
|
+
version_requirements: *id008
|
108
153
|
prerelease: false
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
requirement: &10630160 !ruby/object:Gem::Requirement
|
154
|
+
- !ruby/object:Gem::Dependency
|
155
|
+
type: :development
|
156
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
113
157
|
none: false
|
114
|
-
requirements:
|
158
|
+
requirements:
|
115
159
|
- - ~>
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
|
118
|
-
|
160
|
+
- !ruby/object:Gem::Version
|
161
|
+
hash: 3
|
162
|
+
segments:
|
163
|
+
- 0
|
164
|
+
- 4
|
165
|
+
version: "0.4"
|
166
|
+
name: jnunemaker-matchy
|
167
|
+
version_requirements: *id009
|
119
168
|
prerelease: false
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
requirement: &10623100 !ruby/object:Gem::Requirement
|
169
|
+
- !ruby/object:Gem::Dependency
|
170
|
+
type: :development
|
171
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
124
172
|
none: false
|
125
|
-
requirements:
|
173
|
+
requirements:
|
126
174
|
- - ~>
|
127
|
-
- !ruby/object:Gem::Version
|
128
|
-
|
129
|
-
|
175
|
+
- !ruby/object:Gem::Version
|
176
|
+
hash: 7
|
177
|
+
segments:
|
178
|
+
- 1
|
179
|
+
- 4
|
180
|
+
version: "1.4"
|
181
|
+
name: json_pure
|
182
|
+
version_requirements: *id010
|
130
183
|
prerelease: false
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
requirement: &10621360 !ruby/object:Gem::Requirement
|
184
|
+
- !ruby/object:Gem::Dependency
|
185
|
+
type: :development
|
186
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
135
187
|
none: false
|
136
|
-
requirements:
|
188
|
+
requirements:
|
137
189
|
- - <
|
138
|
-
- !ruby/object:Gem::Version
|
190
|
+
- !ruby/object:Gem::Version
|
191
|
+
hash: 15
|
192
|
+
segments:
|
193
|
+
- 2
|
194
|
+
- 0
|
195
|
+
- 0
|
139
196
|
version: 2.0.0
|
140
|
-
- -
|
141
|
-
- !ruby/object:Gem::Version
|
197
|
+
- - ">="
|
198
|
+
- !ruby/object:Gem::Version
|
199
|
+
hash: 21
|
200
|
+
segments:
|
201
|
+
- 0
|
202
|
+
- 0
|
203
|
+
- 5
|
142
204
|
version: 0.0.5
|
143
|
-
|
205
|
+
name: multi_json
|
206
|
+
version_requirements: *id011
|
144
207
|
prerelease: false
|
145
|
-
|
146
|
-
|
147
|
-
that will be familiar to those who used the original foursquare gem by Jeremy Welch.
|
148
|
-
email:
|
208
|
+
description: Gives access to all endpoints in version 2 of foursquare's API with syntax that will be familiar to those who used the original foursquare gem by Jeremy Welch.
|
209
|
+
email:
|
149
210
|
- muellermr@gmail.com
|
150
211
|
- email@marcomoura.com
|
151
212
|
executables: []
|
213
|
+
|
152
214
|
extensions: []
|
153
|
-
|
215
|
+
|
216
|
+
extra_rdoc_files:
|
154
217
|
- LICENSE.txt
|
155
|
-
files:
|
218
|
+
files:
|
156
219
|
- .document
|
157
220
|
- Gemfile
|
158
221
|
- Gemfile.lock
|
@@ -187,6 +250,7 @@ files:
|
|
187
250
|
- test/fixtures/special.json
|
188
251
|
- test/fixtures/tip.json
|
189
252
|
- test/fixtures/user.json
|
253
|
+
- test/fixtures/user_mayorships.json
|
190
254
|
- test/fixtures/user_tips.json
|
191
255
|
- test/fixtures/user_tips_empty.json
|
192
256
|
- test/fixtures/venue.json
|
@@ -201,31 +265,37 @@ files:
|
|
201
265
|
- test/test_venues.rb
|
202
266
|
has_rdoc: true
|
203
267
|
homepage: http://github.com/mattmueller/foursquare2
|
204
|
-
licenses:
|
268
|
+
licenses:
|
205
269
|
- MIT
|
206
270
|
post_install_message:
|
207
271
|
rdoc_options: []
|
208
|
-
|
272
|
+
|
273
|
+
require_paths:
|
209
274
|
- lib
|
210
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
275
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
211
276
|
none: false
|
212
|
-
requirements:
|
213
|
-
- -
|
214
|
-
- !ruby/object:Gem::Version
|
215
|
-
|
216
|
-
segments:
|
277
|
+
requirements:
|
278
|
+
- - ">="
|
279
|
+
- !ruby/object:Gem::Version
|
280
|
+
hash: 3
|
281
|
+
segments:
|
217
282
|
- 0
|
218
|
-
|
219
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
283
|
+
version: "0"
|
284
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
220
285
|
none: false
|
221
|
-
requirements:
|
222
|
-
- -
|
223
|
-
- !ruby/object:Gem::Version
|
224
|
-
|
286
|
+
requirements:
|
287
|
+
- - ">="
|
288
|
+
- !ruby/object:Gem::Version
|
289
|
+
hash: 3
|
290
|
+
segments:
|
291
|
+
- 0
|
292
|
+
version: "0"
|
225
293
|
requirements: []
|
294
|
+
|
226
295
|
rubyforge_project:
|
227
296
|
rubygems_version: 1.6.2
|
228
297
|
signing_key:
|
229
298
|
specification_version: 3
|
230
299
|
summary: Foursquare API v2 gem in the spirit of the original foursquare gem
|
231
300
|
test_files: []
|
301
|
+
|