foursquared 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. data/.gitignore +10 -0
  2. data/.rspec +2 -0
  3. data/Gemfile +19 -0
  4. data/Guardfile +6 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +30 -0
  7. data/Rakefile +30 -0
  8. data/foursquared.gemspec +34 -0
  9. data/lib/core_ext/symbol.rb +7 -0
  10. data/lib/foursquared/badges.rb +12 -0
  11. data/lib/foursquared/checkins.rb +89 -0
  12. data/lib/foursquared/client.rb +58 -0
  13. data/lib/foursquared/error.rb +17 -0
  14. data/lib/foursquared/events.rb +18 -0
  15. data/lib/foursquared/lists.rb +97 -0
  16. data/lib/foursquared/oauth/client.rb +37 -0
  17. data/lib/foursquared/pages.rb +49 -0
  18. data/lib/foursquared/photos.rb +34 -0
  19. data/lib/foursquared/response/badge.rb +87 -0
  20. data/lib/foursquared/response/badge_group.rb +42 -0
  21. data/lib/foursquared/response/category.rb +53 -0
  22. data/lib/foursquared/response/checkin.rb +180 -0
  23. data/lib/foursquared/response/event.rb +52 -0
  24. data/lib/foursquared/response/list.rb +199 -0
  25. data/lib/foursquared/response/list_item.rb +63 -0
  26. data/lib/foursquared/response/photo.rb +102 -0
  27. data/lib/foursquared/response/special.rb +131 -0
  28. data/lib/foursquared/response/tip.rb +134 -0
  29. data/lib/foursquared/response/user.rb +246 -0
  30. data/lib/foursquared/response/venue.rb +252 -0
  31. data/lib/foursquared/settings.rb +28 -0
  32. data/lib/foursquared/specials.rb +25 -0
  33. data/lib/foursquared/tips.rb +113 -0
  34. data/lib/foursquared/users.rb +206 -0
  35. data/lib/foursquared/venues.rb +217 -0
  36. data/lib/foursquared/version.rb +4 -0
  37. data/lib/foursquared.rb +47 -0
  38. data/spec/foursquared/badges_spec.rb +82 -0
  39. data/spec/foursquared/checkins_spec.rb +0 -0
  40. data/spec/foursquared/events_spec.rb +50 -0
  41. data/spec/foursquared/oauth/client_spec.rb +24 -0
  42. data/spec/foursquared/pages_spec.rb +42 -0
  43. data/spec/foursquared/photos_spec.rb +41 -0
  44. data/spec/foursquared/response/badge_spec.rb +40 -0
  45. data/spec/foursquared/response/category_spec.rb +48 -0
  46. data/spec/foursquared/response/checkin_spec.rb +100 -0
  47. data/spec/foursquared/response/event_category_spec.rb +48 -0
  48. data/spec/foursquared/response/event_spec.rb +60 -0
  49. data/spec/foursquared/response/list_spec.rb +56 -0
  50. data/spec/foursquared/response/photo_spec.rb +70 -0
  51. data/spec/foursquared/response/special_spec.rb +0 -0
  52. data/spec/foursquared/response/user_spec.rb +124 -0
  53. data/spec/foursquared/response/venue_spec.rb +83 -0
  54. data/spec/foursquared/specials_spec.rb +4 -0
  55. data/spec/foursquared/users_spec.rb +241 -0
  56. data/spec/spec_helper.rb +27 -0
  57. metadata +344 -0
@@ -0,0 +1,241 @@
1
+ # require 'foursquared/users'
2
+ # require 'foursquared/lists'
3
+ # require 'foursquared/venues'
4
+ # require 'foursquared/photos'
5
+ # require 'foursquared/client'
6
+ require 'spec_helper'
7
+ require 'pp'
8
+ describe Foursquared::Users do
9
+ let(:me) do
10
+ YAML.load(%{
11
+ meta:
12
+ code: 200
13
+ notifications:
14
+ type: "notificationTray"
15
+ item:
16
+ unreadCount: 0
17
+ response:
18
+ user:
19
+ id: "12345678"
20
+ firstName: "Rony"
21
+ lastName: "Varghese"
22
+ relationship: "self"
23
+ photo:
24
+ prefix: "https://irs1.4sqi.net/img/user/"
25
+ suffix: "/HE1OX3T3S3HN5OI4.jpg"
26
+ friends:
27
+ count: 61
28
+ groups:
29
+ - type: "friends"
30
+ name: "Mutual friends"
31
+ count: 0
32
+ items: []
33
+ - type: "others"
34
+ name: "Other friends"
35
+ count: 61
36
+ items:
37
+ - id: "40430295"
38
+ firstName: "Benjamin"
39
+ lastName: "Peter"
40
+ relationship: "friend"
41
+ photo:
42
+ prefix: "https://irs0.4sqi.net/img/user/"
43
+ suffix: "/4GBCUQTWEX4H4KNZ.jpg"
44
+ tips:
45
+ count: 0
46
+ lists:
47
+ groups:
48
+ - type: "created"
49
+ count: 1
50
+ items: []
51
+ gender: "male"
52
+ homeCity: "Maharashtra"
53
+ bio: ""
54
+ contact:
55
+ email: "blahblah@blah.com"
56
+ facebook: "435463435"
57
+ }
58
+ )
59
+ end
60
+
61
+ let(:leaderboard) do
62
+ YAML.load(%{
63
+ meta:
64
+ code: 200
65
+ response:
66
+ leaderboard:
67
+ count: 3
68
+ items:
69
+ - user:
70
+ id: "38967332"
71
+ relationship: "friend"
72
+ scores:
73
+ recent: 73
74
+ max: 150
75
+ checkinsCount: 23
76
+
77
+ rank: 10
78
+ - user:
79
+ id: "25052241"
80
+ relationship: "self"
81
+ scores:
82
+ recent: 61
83
+ max: 123
84
+ checkinsCount: 16
85
+ rank: 11
86
+ - user:
87
+ id: "508984"
88
+ relationship: "friend"
89
+ scores:
90
+ recent: 61
91
+ max: 123
92
+ checkinsCount: 16
93
+ rank: 12
94
+
95
+ }
96
+ )
97
+ end
98
+
99
+ let(:requests) do
100
+ YAML.load(%{
101
+ meta:
102
+ code: 200
103
+ response:
104
+ requests:
105
+ - id: "6218439"
106
+ firstName: "Manoj"
107
+ lastName: "Shenoy"
108
+ relationship: "pendingMe"
109
+ }
110
+ )
111
+ end
112
+
113
+ let(:user_checkins) do
114
+ YAML.load(%{
115
+ meta:
116
+ code: 200
117
+ response:
118
+ checkins:
119
+ counts: 314
120
+ items:
121
+ - id: "50adae47e4b0f1042101c870"
122
+ venue:
123
+ - id: "4b9a2e26f964a5200fa335e3"
124
+ }
125
+ )
126
+ end
127
+
128
+ let(:user_lists) do
129
+ YAML.load(%{
130
+ meta:
131
+ code: 200
132
+ response:
133
+ lists:
134
+ groups:
135
+ - type: "created"
136
+ name: "Created Lists"
137
+ items:
138
+ - id: "25052241/todos"
139
+ name: "My to-do list"
140
+ description: ""
141
+ user:
142
+ id: "25052241"
143
+ firstName: "Rony"
144
+ lastName: "Varghese"
145
+ editable: false
146
+ public: false
147
+ collaborative: false
148
+ url: "https://foursquare.com/user/25052241/list/todos"
149
+ canonicalUrl: "https://foursquare.com/user/25052241/list/todos"
150
+ createdAt: 1353108348
151
+ updatedAt: 1353108400
152
+ }
153
+ )
154
+ end
155
+
156
+ let(:user_mayorships) do
157
+ YAML.load(%{
158
+ meta:
159
+ code: 200
160
+ response:
161
+ mayorships:
162
+ items:
163
+ - venue:
164
+ id: "4f98bdbbe4b0a6559cc9f5e9"
165
+ name: "Manorama bus stop"
166
+
167
+ }
168
+ )
169
+ end
170
+
171
+ before :each do
172
+ stub_request(:get, "https://api.foursquare.com/v2/users/self?oauth_token=TestToken&v=#{Time.now.strftime("%Y%m%d")}").to_return(:status => 200, :body => me.to_json, :headers => {})
173
+ stub_request(:get, "https://api.foursquare.com/v2/users/leaderboard?oauth_token=TestToken&v=#{Time.now.strftime("%Y%m%d")}").to_return(:status => 200, :body => leaderboard.to_json, :headers => {})
174
+ stub_request(:get, "https://api.foursquare.com/v2/users/requests?oauth_token=TestToken&v=#{Time.now.strftime("%Y%m%d")}").to_return(:status => 200, :body => requests.to_json, :headers => {})
175
+ stub_request(:get, "https://api.foursquare.com/v2/users/self/checkins?oauth_token=TestToken&v=#{Time.now.strftime("%Y%m%d")}").to_return(:status => 200, :body => user_checkins.to_json, :headers => {})
176
+ stub_request(:get, "https://api.foursquare.com/v2/users/self/lists?oauth_token=TestToken&v=#{Time.now.strftime("%Y%m%d")}").to_return(:status => 200, :body => user_lists.to_json, :headers => {})
177
+ stub_request(:get, "https://api.foursquare.com/v2/users/self/mayorships?oauth_token=TestToken&v=#{Time.now.strftime("%Y%m%d")}").to_return(:status => 200, :body => user_mayorships.to_json, :headers => {})
178
+
179
+ end
180
+
181
+ describe "#user" do
182
+ it "should return a foursquared user response" do
183
+ foursquared_test_client.user.class.should == Foursquared::Response::User
184
+ end
185
+ end
186
+
187
+ describe "#leaderboard" do
188
+
189
+ it "should return the 'self' user's leaderboard" do
190
+ foursquared_test_client.leaderboard.keys.should include("count", "items")
191
+ end
192
+
193
+ describe "each leaderboard item" do
194
+ it "should have a user, scores and rank" do
195
+ foursquared_test_client.leaderboard["items"].should each { |item|
196
+ item.keys.should include("user", "scores", "rank")
197
+ }
198
+ end
199
+
200
+ it "should have a user response" do
201
+ foursquared_test_client.leaderboard["items"].should each { |item|
202
+ item["user"].should be_a(Foursquared::Response::User)
203
+ }
204
+ end
205
+ end
206
+ end
207
+
208
+ describe "#requests" do
209
+ it "should return user's pending friend requests" do
210
+ foursquared_test_client.requests.should each { |item|
211
+ item.should be_a(Foursquared::Response::User)
212
+ }
213
+ end
214
+ end
215
+
216
+ describe "#user_checkins" do
217
+ it "should return given user's checkins" do
218
+ foursquared_test_client.user_checkins["items"].should each { |item|
219
+ item.should be_a(Foursquared::Response::Checkin)
220
+ }
221
+ end
222
+ end
223
+
224
+ describe "#user_lists" do
225
+ it "should return a user's lists" do
226
+ foursquared_test_client.user_lists["groups"].should each { |group|
227
+ group["items"].should each { |item|
228
+ item.should be_a(Foursquared::Response::List)
229
+ }
230
+ }
231
+ end
232
+ end
233
+
234
+ describe "#user_mayorships" do
235
+ it "should retun a user's mayorships" do
236
+ foursquared_test_client.user_mayorships["items"].should each {|item|
237
+ item["venue"].should be_a(Foursquared::Response::Venue)
238
+ }
239
+ end
240
+ end
241
+ end
@@ -0,0 +1,27 @@
1
+ require "simplecov"
2
+ require "simplecov-rcov"
3
+ require 'foursquared'
4
+ require 'webmock/rspec'
5
+ require 'rspec_multi_matchers'
6
+
7
+ SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter
8
+ SimpleCov.start do
9
+ add_filter "vendor"
10
+ add_filter "spec"
11
+ end if ENV["COVERAGE"]
12
+
13
+ def foursquared_test_client
14
+ Foursquared::Client.new("TestToken")
15
+ end
16
+
17
+ class Array
18
+ def unique?
19
+ length == uniq.length
20
+ end
21
+
22
+ def method_missing name
23
+ if name.to_s =~ /^empty_or_array_of_(.+)s\?$/
24
+ empty? or collect{|item| item.is_a?(Foursquared::Response.const_get($1.capitalize))}.all?
25
+ end
26
+ end
27
+ end
metadata ADDED
@@ -0,0 +1,344 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: foursquared
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.4
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Rony Varghese
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-01-07 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: httmultiparty
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: oauth2
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rspec
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rake
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: guard
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: guard-rspec
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: simplecov
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: metric_abc
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
142
+ - !ruby/object:Gem::Dependency
143
+ name: yard
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ! '>='
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ type: :development
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ - !ruby/object:Gem::Dependency
159
+ name: ci_reporter
160
+ requirement: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ - !ruby/object:Gem::Dependency
175
+ name: simplecov-rcov
176
+ requirement: !ruby/object:Gem::Requirement
177
+ none: false
178
+ requirements:
179
+ - - ! '>='
180
+ - !ruby/object:Gem::Version
181
+ version: '0'
182
+ type: :development
183
+ prerelease: false
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
190
+ - !ruby/object:Gem::Dependency
191
+ name: rdiscount
192
+ requirement: !ruby/object:Gem::Requirement
193
+ none: false
194
+ requirements:
195
+ - - ! '>='
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
198
+ type: :development
199
+ prerelease: false
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ! '>='
204
+ - !ruby/object:Gem::Version
205
+ version: '0'
206
+ - !ruby/object:Gem::Dependency
207
+ name: webmock
208
+ requirement: !ruby/object:Gem::Requirement
209
+ none: false
210
+ requirements:
211
+ - - ! '>='
212
+ - !ruby/object:Gem::Version
213
+ version: '0'
214
+ type: :development
215
+ prerelease: false
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ! '>='
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
222
+ - !ruby/object:Gem::Dependency
223
+ name: rspec_multi_matchers
224
+ requirement: !ruby/object:Gem::Requirement
225
+ none: false
226
+ requirements:
227
+ - - ! '>='
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ none: false
234
+ requirements:
235
+ - - ! '>='
236
+ - !ruby/object:Gem::Version
237
+ version: '0'
238
+ description: Simple foursquare api client
239
+ email:
240
+ - ronyv250289@gmail.com
241
+ executables: []
242
+ extensions: []
243
+ extra_rdoc_files: []
244
+ files:
245
+ - .gitignore
246
+ - .rspec
247
+ - Gemfile
248
+ - Guardfile
249
+ - LICENSE.txt
250
+ - README.md
251
+ - Rakefile
252
+ - foursquared.gemspec
253
+ - lib/core_ext/symbol.rb
254
+ - lib/foursquared.rb
255
+ - lib/foursquared/badges.rb
256
+ - lib/foursquared/checkins.rb
257
+ - lib/foursquared/client.rb
258
+ - lib/foursquared/error.rb
259
+ - lib/foursquared/events.rb
260
+ - lib/foursquared/lists.rb
261
+ - lib/foursquared/oauth/client.rb
262
+ - lib/foursquared/pages.rb
263
+ - lib/foursquared/photos.rb
264
+ - lib/foursquared/response/badge.rb
265
+ - lib/foursquared/response/badge_group.rb
266
+ - lib/foursquared/response/category.rb
267
+ - lib/foursquared/response/checkin.rb
268
+ - lib/foursquared/response/event.rb
269
+ - lib/foursquared/response/list.rb
270
+ - lib/foursquared/response/list_item.rb
271
+ - lib/foursquared/response/photo.rb
272
+ - lib/foursquared/response/special.rb
273
+ - lib/foursquared/response/tip.rb
274
+ - lib/foursquared/response/user.rb
275
+ - lib/foursquared/response/venue.rb
276
+ - lib/foursquared/settings.rb
277
+ - lib/foursquared/specials.rb
278
+ - lib/foursquared/tips.rb
279
+ - lib/foursquared/users.rb
280
+ - lib/foursquared/venues.rb
281
+ - lib/foursquared/version.rb
282
+ - spec/foursquared/badges_spec.rb
283
+ - spec/foursquared/checkins_spec.rb
284
+ - spec/foursquared/events_spec.rb
285
+ - spec/foursquared/oauth/client_spec.rb
286
+ - spec/foursquared/pages_spec.rb
287
+ - spec/foursquared/photos_spec.rb
288
+ - spec/foursquared/response/badge_spec.rb
289
+ - spec/foursquared/response/category_spec.rb
290
+ - spec/foursquared/response/checkin_spec.rb
291
+ - spec/foursquared/response/event_category_spec.rb
292
+ - spec/foursquared/response/event_spec.rb
293
+ - spec/foursquared/response/list_spec.rb
294
+ - spec/foursquared/response/photo_spec.rb
295
+ - spec/foursquared/response/special_spec.rb
296
+ - spec/foursquared/response/user_spec.rb
297
+ - spec/foursquared/response/venue_spec.rb
298
+ - spec/foursquared/specials_spec.rb
299
+ - spec/foursquared/users_spec.rb
300
+ - spec/spec_helper.rb
301
+ homepage: https://github.com/ronyv89/foursquared
302
+ licenses: []
303
+ post_install_message:
304
+ rdoc_options: []
305
+ require_paths:
306
+ - lib
307
+ required_ruby_version: !ruby/object:Gem::Requirement
308
+ none: false
309
+ requirements:
310
+ - - ! '>='
311
+ - !ruby/object:Gem::Version
312
+ version: '0'
313
+ required_rubygems_version: !ruby/object:Gem::Requirement
314
+ none: false
315
+ requirements:
316
+ - - ! '>='
317
+ - !ruby/object:Gem::Version
318
+ version: '0'
319
+ requirements: []
320
+ rubyforge_project:
321
+ rubygems_version: 1.8.24
322
+ signing_key:
323
+ specification_version: 3
324
+ summary: Simple foursquare api client
325
+ test_files:
326
+ - spec/foursquared/badges_spec.rb
327
+ - spec/foursquared/checkins_spec.rb
328
+ - spec/foursquared/events_spec.rb
329
+ - spec/foursquared/oauth/client_spec.rb
330
+ - spec/foursquared/pages_spec.rb
331
+ - spec/foursquared/photos_spec.rb
332
+ - spec/foursquared/response/badge_spec.rb
333
+ - spec/foursquared/response/category_spec.rb
334
+ - spec/foursquared/response/checkin_spec.rb
335
+ - spec/foursquared/response/event_category_spec.rb
336
+ - spec/foursquared/response/event_spec.rb
337
+ - spec/foursquared/response/list_spec.rb
338
+ - spec/foursquared/response/photo_spec.rb
339
+ - spec/foursquared/response/special_spec.rb
340
+ - spec/foursquared/response/user_spec.rb
341
+ - spec/foursquared/response/venue_spec.rb
342
+ - spec/foursquared/specials_spec.rb
343
+ - spec/foursquared/users_spec.rb
344
+ - spec/spec_helper.rb