gowalla 0.4.2 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gowalla (0.4.1)
4
+ gowalla (0.4.2)
5
5
  faraday (~> 0.4.5)
6
6
  faraday_middleware (~> 0.1.0)
7
7
  oauth2
@@ -1,4 +1,7 @@
1
1
  # Changelog
2
+ ## 0.5.1 October 10, 2010
3
+ * Patch from [jasonrudolph](http://github.com/jasonrudolph) for #user_events
4
+ * Patch from [jasonrudolph](http://github.com/jasonrudolph) to authenticate via HTTPS
2
5
  ## 0.4.2 October 2, 2010
3
6
  * Patch from [sferik](http://github.com/sferik) for faraday_middleware
4
7
  ## 0.4.1 September 28, 2010
@@ -13,17 +13,8 @@ module Gowalla
13
13
  attr_accessor :api_secret
14
14
  attr_accessor :test_mode
15
15
 
16
- # config/initializers/gowalla.rb (for instance)
17
- #
18
- # Gowalla.configure do |config|
19
- # config.api_key = 'api_key'
20
- # config.username = 'username'
21
- # config.password = 'password'
22
- # end
23
- #
24
- # elsewhere
25
- #
26
- # client = Gowalla::Client.new
16
+ # Configures default credentials easily
17
+ # @yield [api_key, username, password]
27
18
  def configure
28
19
  yield self
29
20
  true
@@ -36,10 +36,9 @@ module Gowalla
36
36
  #
37
37
  # @return [Faraday::Connection]
38
38
  def connection
39
- url = @access_token ? "https://api.gowalla.com" : "http://api.gowalla.com"
40
39
  params = {}
41
40
  params[:access_token] = @access_token if @access_token
42
- @connection ||= Faraday::Connection.new(:url => url, :params => params, :headers => default_headers) do |builder|
41
+ @connection ||= Faraday::Connection.new(:url => api_url, :params => params, :headers => default_headers) do |builder|
43
42
  builder.adapter Faraday.default_adapter
44
43
  builder.use Faraday::Response::ParseJson
45
44
  builder.use Faraday::Response::Mashify
@@ -47,6 +46,13 @@ module Gowalla
47
46
 
48
47
  end
49
48
 
49
+ # Provides the URL for accessing the API
50
+ #
51
+ # @return [String]
52
+ def api_url
53
+ authentication_credentials_provided? ? "https://api.gowalla.com" : "http://api.gowalla.com"
54
+ end
55
+
50
56
  # Provides raw access to the OAuth2 Client
51
57
  #
52
58
  # @return [OAuth2::Client]
@@ -89,6 +95,10 @@ module Gowalla
89
95
  }
90
96
  end
91
97
 
98
+ # @private
99
+ def authentication_credentials_provided?
100
+ @api_key || @api_secret || @username || @access_token
101
+ end
92
102
 
93
103
  end
94
104
 
@@ -38,6 +38,14 @@ module Gowalla
38
38
  connection.get("/users/#{user_id}/visited_spots_urls").body.urls
39
39
  end
40
40
 
41
+ # Retrieve a list of the user's most recent checkins.
42
+ #
43
+ # @param [String] user_id (authenticated basic auth user) User ID (screen name)
44
+ # @return [Hashie::Mash] Array of checkin events
45
+ def user_events(user_id=self.username)
46
+ connection.get("/users/#{user_id}/events").body.activity
47
+ end
48
+
41
49
  # Retrieve a list of items the user is carrying
42
50
  # WARNING: This method uses calls not officially supported by Gowalla.
43
51
  #
@@ -1,3 +1,3 @@
1
1
  module Gowalla
2
- VERSION = '0.4.2'
2
+ VERSION = '0.5.1'
3
3
  end
@@ -8,7 +8,7 @@ class CheckinsTest < Test::Unit::TestCase
8
8
  end
9
9
 
10
10
  should "fetch info for a checkin" do
11
- stub_get("http://pengwynn:0U812@api.gowalla.com/checkins/88", "checkin.json")
11
+ stub_get("https://pengwynn:0U812@api.gowalla.com/checkins/88", "checkin.json")
12
12
  checkin = @client.checkin_info(88)
13
13
  checkin.spot.name.should == 'Movie Tavern'
14
14
  checkin.message.should == 'There sending us Back-- to the Future!'
@@ -10,6 +10,13 @@ class ClientTest < Test::Unit::TestCase
10
10
 
11
11
  end
12
12
 
13
+ context "when accessing the API anonymously" do
14
+ should "send requests unencrypted over plain HTTP" do
15
+ @client = Gowalla::Client.new
16
+ @client.api_url.should == 'http://api.gowalla.com'
17
+ end
18
+ end
19
+
13
20
  context "when using basic auth" do
14
21
  should "configure api_key, username, and password for easy access" do
15
22
 
@@ -22,11 +29,22 @@ class ClientTest < Test::Unit::TestCase
22
29
 
23
30
  @client = Gowalla::Client.new
24
31
 
25
- stub_get('http://username:password@api.gowalla.com/trips', 'trips.json')
32
+ stub_get('https://username:password@api.gowalla.com/trips', 'trips.json')
26
33
  trips = @client.trips
27
34
 
28
35
  @client.username.should == 'username'
29
36
  end
37
+
38
+ should "use HTTPS to avoid sending password in plain text" do
39
+ Gowalla.configure do |config|
40
+ config.api_key = 'api_key'
41
+ config.username = 'username'
42
+ config.password = 'password'
43
+ end
44
+
45
+ @client = Gowalla::Client.new
46
+ @client.api_url.should == 'https://api.gowalla.com'
47
+ end
30
48
 
31
49
  should "configure test mode" do
32
50
  Gowalla.configure do |config|
@@ -58,6 +76,10 @@ class ClientTest < Test::Unit::TestCase
58
76
  @client.oauth_client.id.should == 'api_key'
59
77
  end
60
78
 
79
+ should "use HTTPS to avoid sending credentials in plain text" do
80
+ @client.api_url.should == 'https://api.gowalla.com'
81
+ end
82
+
61
83
  should "create an OAuth2 client" do
62
84
  @client.oauth_client.class.to_s.should == "OAuth2::Client"
63
85
  end
@@ -0,0 +1,194 @@
1
+ {
2
+ "activity": [
3
+ {
4
+ "type": "checkin",
5
+ "_comments_count": 0,
6
+ "url": "/checkins/18863224",
7
+ "_photos_count": 1,
8
+ "created_at": "2010-10-10T19:00:30Z",
9
+ "message": "",
10
+ "activity_url": "/checkins/18863224/activity",
11
+ "spot": {
12
+ "lat": 33.236283164,
13
+ "lng": -96.963132806,
14
+ "image_url": "http://static.gowalla.com/categories/372-36fde6fbcef1326270d821925f5bc8a2-100.png?1",
15
+ "url": "/spots/5294067",
16
+ "description": "Doggie Halloween",
17
+ "city_state": "Aubrey, TX",
18
+ "name": "Barktoberfest"
19
+ },
20
+ "item": null
21
+ },
22
+ {
23
+ "type": "checkin",
24
+ "_comments_count": 0,
25
+ "url": "/checkins/18841423",
26
+ "_photos_count": 0,
27
+ "created_at": "2010-10-10T13:48:26Z",
28
+ "message": "",
29
+ "activity_url": "/checkins/18841423/activity",
30
+ "spot": {
31
+ "lat": 33.234945482,
32
+ "lng": -97.1040451527,
33
+ "image_url": "http://static.gowalla.com/categories/68-97f92f05f9c89ac1318acbed6e8756d7-100.png?1",
34
+ "url": "/spots/148001",
35
+ "description": "",
36
+ "city_state": "Denton, TX",
37
+ "name": "Denton Bible Church"
38
+ },
39
+ "item": null
40
+ },
41
+ {
42
+ "type": "checkin",
43
+ "_comments_count": 0,
44
+ "url": "/checkins/18761602",
45
+ "_photos_count": 0,
46
+ "created_at": "2010-10-09T13:49:19Z",
47
+ "message": "Cheering for flag football",
48
+ "activity_url": "/checkins/18761602/activity",
49
+ "spot": {
50
+ "lat": 33.2414638833,
51
+ "lng": -97.1543097333,
52
+ "image_url": "http://static.gowalla.com/categories/38-69fb37a4291ebf8e325eb9ecf67f4a51-100.png?1",
53
+ "url": "/spots/12710",
54
+ "description": "Jogging trails, sports fields, playgrounds, fishing lakes, batting cage, driving range, model airplane field, and much more.",
55
+ "city_state": "Denton, TX",
56
+ "name": "North Lakes Park"
57
+ },
58
+ "item": null
59
+ },
60
+ {
61
+ "type": "checkin",
62
+ "_comments_count": 0,
63
+ "url": "/checkins/18716653",
64
+ "_photos_count": 0,
65
+ "created_at": "2010-10-08T21:53:01Z",
66
+ "message": "",
67
+ "activity_url": "/checkins/18716653/activity",
68
+ "spot": {
69
+ "lat": 33.22220165,
70
+ "lng": -96.96178115,
71
+ "image_url": "http://static.gowalla.com/categories/15-86c95944931ab87b5af70d9cf48de40e-100.png?1",
72
+ "url": "/spots/548312",
73
+ "description": null,
74
+ "city_state": "Little Elm, TX",
75
+ "name": "Raphael's"
76
+ },
77
+ "item": null
78
+ },
79
+ {
80
+ "type": "checkin",
81
+ "_comments_count": 0,
82
+ "url": "/checkins/18342058",
83
+ "_photos_count": 0,
84
+ "created_at": "2010-10-03T13:52:40Z",
85
+ "message": "",
86
+ "activity_url": "/checkins/18342058/activity",
87
+ "spot": {
88
+ "lat": 33.234945482,
89
+ "lng": -97.1040451527,
90
+ "image_url": "http://static.gowalla.com/categories/68-97f92f05f9c89ac1318acbed6e8756d7-100.png?1",
91
+ "url": "/spots/148001",
92
+ "description": "",
93
+ "city_state": "Denton, TX",
94
+ "name": "Denton Bible Church"
95
+ },
96
+ "item": null
97
+ },
98
+ {
99
+ "type": "checkin",
100
+ "_comments_count": 0,
101
+ "url": "/checkins/17931703",
102
+ "_photos_count": 0,
103
+ "created_at": "2010-09-27T17:06:57Z",
104
+ "message": "Loved the cream corn, @glv's recommendation ",
105
+ "activity_url": "/checkins/17931703/activity",
106
+ "spot": {
107
+ "lat": 33.1597476135,
108
+ "lng": -96.8392467499,
109
+ "image_url": "http://static.gowalla.com/categories/17-65ff6fdefa899c5b215485e87ec8a89e-100.png?1",
110
+ "url": "/spots/43464",
111
+ "description": "Real Texas Bar-B-Q",
112
+ "city_state": "Frisco, TX",
113
+ "name": "Rudy's"
114
+ },
115
+ "item": null
116
+ },
117
+ {
118
+ "type": "checkin",
119
+ "_comments_count": 0,
120
+ "url": "/checkins/17915508",
121
+ "_photos_count": 1,
122
+ "created_at": "2010-09-27T12:43:26Z",
123
+ "message": "",
124
+ "activity_url": "/checkins/17915508/activity",
125
+ "spot": {
126
+ "lat": 33.226585803,
127
+ "lng": -96.952728502,
128
+ "image_url": "http://static.gowalla.com/categories/114-dfa8b00854ef26823d8b0d2b998568ff-100.png?1",
129
+ "url": "/spots/4530278",
130
+ "description": null,
131
+ "city_state": "Little Elm, TX",
132
+ "name": "Providence Lake"
133
+ },
134
+ "item": null
135
+ },
136
+ {
137
+ "type": "checkin",
138
+ "_comments_count": 0,
139
+ "url": "/checkins/17858609",
140
+ "_photos_count": 0,
141
+ "created_at": "2010-09-26T15:28:55Z",
142
+ "message": "",
143
+ "activity_url": "/checkins/17858609/activity",
144
+ "spot": {
145
+ "lat": 33.234945482,
146
+ "lng": -97.1040451527,
147
+ "image_url": "http://static.gowalla.com/categories/68-97f92f05f9c89ac1318acbed6e8756d7-100.png?1",
148
+ "url": "/spots/148001",
149
+ "description": "",
150
+ "city_state": "Denton, TX",
151
+ "name": "Denton Bible Church"
152
+ },
153
+ "item": null
154
+ },
155
+ {
156
+ "type": "checkin",
157
+ "_comments_count": 0,
158
+ "url": "/checkins/17731583",
159
+ "_photos_count": 0,
160
+ "created_at": "2010-09-24T23:19:18Z",
161
+ "message": "Waiting on Bob & Larry",
162
+ "activity_url": "/checkins/17731583/activity",
163
+ "spot": {
164
+ "lat": 33.028165038,
165
+ "lng": -96.84656915,
166
+ "image_url": "http://static.gowalla.com/categories/387-5bc1a08e12564a38fc119abf8865ffde-100.png?1",
167
+ "url": "/spots/4373116",
168
+ "description": null,
169
+ "city_state": "Plano, TX",
170
+ "name": "VeggieTales Live"
171
+ },
172
+ "item": null
173
+ },
174
+ {
175
+ "type": "checkin",
176
+ "_comments_count": 0,
177
+ "url": "/checkins/17726509",
178
+ "_photos_count": 0,
179
+ "created_at": "2010-09-24T21:58:49Z",
180
+ "message": "",
181
+ "activity_url": "/checkins/17726509/activity",
182
+ "spot": {
183
+ "lat": 33.0269792167,
184
+ "lng": -96.82855735,
185
+ "image_url": "http://static.gowalla.com/categories/15-86c95944931ab87b5af70d9cf48de40e-100.png?1",
186
+ "url": "/spots/32973",
187
+ "description": "Fine Mexican Food! ",
188
+ "city_state": "Plano, TX",
189
+ "name": "Los Cucos"
190
+ },
191
+ "item": null
192
+ }
193
+ ]
194
+ }
@@ -8,7 +8,7 @@ class FlagsTest < Test::Unit::TestCase
8
8
  end
9
9
 
10
10
  should "retrieve a list of flags" do
11
- stub_get("http://pengwynn:0U812@api.gowalla.com/flags", "flags.json")
11
+ stub_get("https://pengwynn:0U812@api.gowalla.com/flags", "flags.json")
12
12
  flags = @client.list_flags
13
13
  flags.first.spot.name.should == 'Wild Gowallaby #1'
14
14
  flags.first.user.url.should == '/users/340897'
@@ -17,7 +17,7 @@ class FlagsTest < Test::Unit::TestCase
17
17
  end
18
18
 
19
19
  should "retrieve information about a specific flag" do
20
- stub_get("http://pengwynn:0U812@api.gowalla.com/flags/1", "flag.json")
20
+ stub_get("https://pengwynn:0U812@api.gowalla.com/flags/1", "flag.json")
21
21
  flag = @client.flag(1)
22
22
  flag.spot.name.should == 'Wild Gowallaby #1'
23
23
  flag.user.url.should == '/users/340897'
@@ -27,7 +27,7 @@ class FlagsTest < Test::Unit::TestCase
27
27
 
28
28
 
29
29
  should "retrieve flags associated with that spot" do
30
- stub_get("http://pengwynn:0U812@api.gowalla.com/spots/1/flags", "flags.json")
30
+ stub_get("https://pengwynn:0U812@api.gowalla.com/spots/1/flags", "flags.json")
31
31
  flags = @client.spot_flags(1)
32
32
  flags.first.spot.name.should == 'Wild Gowallaby #1'
33
33
  flags.first.user.url.should == '/users/340897'
@@ -36,7 +36,7 @@ class FlagsTest < Test::Unit::TestCase
36
36
  end
37
37
 
38
38
  should "set a flag on a specific spot" do
39
- url = "http://pengwynn:0U812@api.gowalla.com/spots/1/flags/invalid"
39
+ url = "https://pengwynn:0U812@api.gowalla.com/spots/1/flags/invalid"
40
40
  FakeWeb.register_uri(:post, url, :body => '{"result": "flag created"}')
41
41
  response = @client.flag_spot(1, 'invalid', 'my problem description')
42
42
  response.result.should == 'flag created'
@@ -8,7 +8,7 @@ class ItemsTest < Test::Unit::TestCase
8
8
  end
9
9
 
10
10
  should "retrieve information about a specific item" do
11
- stub_get('http://pengwynn:0U812@api.gowalla.com/items/607583', 'item.json')
11
+ stub_get('https://pengwynn:0U812@api.gowalla.com/items/607583', 'item.json')
12
12
  item = @client.item(607583)
13
13
  item.issue_number.should == 13998
14
14
  item.name.should == 'Sweets'
@@ -16,7 +16,7 @@ class ItemsTest < Test::Unit::TestCase
16
16
  end
17
17
 
18
18
  should "retrieve events associated with a specific item" do
19
- stub_get('http://pengwynn:0U812@api.gowalla.com/items/607583/events', 'item_events.json')
19
+ stub_get('https://pengwynn:0U812@api.gowalla.com/items/607583/events', 'item_events.json')
20
20
  events = @client.item_events(607583)
21
21
  events.first.spot.name = 'Jerusalem Bakery'
22
22
  events.first.user.first_name = 'Scott'
@@ -8,20 +8,20 @@ class SpotsTest < Test::Unit::TestCase
8
8
  end
9
9
 
10
10
  should "Retrieve a list of spots within a specified distance of a location" do
11
- stub_get("http://pengwynn:0U812@api.gowalla.com/spots?lat=%2B33.237593417&lng=-96.960559033&radius=50", "spots.json")
11
+ stub_get("https://pengwynn:0U812@api.gowalla.com/spots?lat=%2B33.237593417&lng=-96.960559033&radius=50", "spots.json")
12
12
  spots = @client.list_spots(:lat => 33.237593417, :lng => -96.960559033, :radius => 50)
13
13
  spots.first.name.should == 'Gnomb Bar'
14
14
  spots.first.radius_meters.should == 50
15
15
  end
16
16
 
17
17
  should "Retrieve a list of spots within a specified bounds" do
18
- stub_get("http://pengwynn:0U812@api.gowalla.com/spots?sw=%2839.25565142103586%2C%20-8.717308044433594%29&nw=%2839.31411296530539%2C%20-8.490715026855469%29", "spots.json")
18
+ stub_get("https://pengwynn:0U812@api.gowalla.com/spots?sw=%2839.25565142103586%2C%20-8.717308044433594%29&nw=%2839.31411296530539%2C%20-8.490715026855469%29", "spots.json")
19
19
  spots = @client.list_spots(:sw => "(39.25565142103586, -8.717308044433594)", :nw => "(39.31411296530539, -8.490715026855469)")
20
20
  spots.first.name.should == 'Gnomb Bar'
21
21
  end
22
22
 
23
23
  should "Retrieve information about a specific spot" do
24
- stub_get('http://pengwynn:0U812@api.gowalla.com/spots/18568', 'spot.json')
24
+ stub_get('https://pengwynn:0U812@api.gowalla.com/spots/18568', 'spot.json')
25
25
  spot = @client.spot(18568)
26
26
  spot.name.should == "Wahoo's"
27
27
  spot.twitter_username.should == 'Wahoos512'
@@ -29,21 +29,21 @@ class SpotsTest < Test::Unit::TestCase
29
29
  end
30
30
 
31
31
  should "retrieve a list of check-ins at a particular spot. Shows only the activity that is visible to a given user" do
32
- stub_get('http://pengwynn:0U812@api.gowalla.com/spots/452593/events', 'events.json')
32
+ stub_get('https://pengwynn:0U812@api.gowalla.com/spots/452593/events', 'spot_events.json')
33
33
  events = @client.spot_events(452593)
34
34
  events.first[:type].should == 'checkin'
35
35
  events.first.user.last_name.should == 'Mack'
36
36
  end
37
37
 
38
38
  should "retrieve a list of items available at a particular spot" do
39
- stub_get('http://pengwynn:0U812@api.gowalla.com/spots/18568/items', 'items.json')
39
+ stub_get('https://pengwynn:0U812@api.gowalla.com/spots/18568/items', 'items.json')
40
40
  items = @client.spot_items(18568)
41
41
  items.first.issue_number.should == 27868
42
42
  items.first.name.should == 'Bowl of Noodles'
43
43
  end
44
44
 
45
45
  should "lists all spot categories" do
46
- stub_get("http://pengwynn:0U812@api.gowalla.com/categories", "categories.json")
46
+ stub_get("https://pengwynn:0U812@api.gowalla.com/categories", "categories.json")
47
47
  categories = @client.categories
48
48
  categories.size.should == 9
49
49
  categories.first.name.should == 'Architecture & Buildings'
@@ -53,13 +53,13 @@ class SpotsTest < Test::Unit::TestCase
53
53
  end
54
54
 
55
55
  should "retrieve information about a specific category" do
56
- stub_get("http://pengwynn:0U812@api.gowalla.com/categories/1", "category.json")
56
+ stub_get("https://pengwynn:0U812@api.gowalla.com/categories/1", "category.json")
57
57
  category = @client.category(1)
58
58
  category.name.should == 'Coffee Shop'
59
59
  end
60
60
 
61
61
  should "retrieve photos taken at a spot" do
62
- stub_get('http://pengwynn:0U812@api.gowalla.com/spots/18568/photos', 'photos.json')
62
+ stub_get('https://pengwynn:0U812@api.gowalla.com/spots/18568/photos', 'photos.json')
63
63
  photos = @client.spot_photos(18568)
64
64
  #photos.first.type.should == 'photo'
65
65
  photos.first.photo_urls.square_50.should == 'http://static.gowalla.com/photos/912078_square_50.jpg'
@@ -8,14 +8,14 @@ class TripsTest < Test::Unit::TestCase
8
8
  end
9
9
 
10
10
  should "retrieve a list of trips" do
11
- stub_get('http://pengwynn:0U812@api.gowalla.com/trips', 'trips.json')
11
+ stub_get('https://pengwynn:0U812@api.gowalla.com/trips', 'trips.json')
12
12
  trips = @client.trips
13
13
  trips.first.name.should == 'London Pub Crawl'
14
14
  trips.first.spots.first.url.should == '/spots/164009'
15
15
  end
16
16
 
17
17
  should "retrieve information about a specific trip" do
18
- stub_get('http://pengwynn:0U812@api.gowalla.com/trips/1', 'trip.json')
18
+ stub_get('https://pengwynn:0U812@api.gowalla.com/trips/1', 'trip.json')
19
19
  trip = @client.trip(1)
20
20
  trip.creator.last_name.should == 'Gowalla'
21
21
  trip.map_bounds.east.should == -63.457031
@@ -8,21 +8,21 @@ class UsersTest < Test::Unit::TestCase
8
8
  end
9
9
 
10
10
  should "retrive information about the current user if no user specified" do
11
- stub_get('http://pengwynn:0U812@api.gowalla.com/users/pengwynn', 'user.json')
11
+ stub_get('https://pengwynn:0U812@api.gowalla.com/users/pengwynn', 'user.json')
12
12
  user = @client.user
13
13
  user.bio.should == "CTO & co-founder of Gowalla. Ruby/Cocoa/JavaScript developer. Game designer. Author. Indoorsman."
14
14
  user.stamps_count.should == 506
15
15
  end
16
16
 
17
17
  should "retrieve information about a specific user" do
18
- stub_get('http://pengwynn:0U812@api.gowalla.com/users/sco', 'user.json')
18
+ stub_get('https://pengwynn:0U812@api.gowalla.com/users/sco', 'user.json')
19
19
  user = @client.user('sco')
20
20
  user.bio.should == "CTO & co-founder of Gowalla. Ruby/Cocoa/JavaScript developer. Game designer. Author. Indoorsman."
21
21
  user.stamps_count.should == 506
22
22
  end
23
23
 
24
24
  should "retrieve a list of the stamps the user has collected" do
25
- stub_get('http://pengwynn:0U812@api.gowalla.com/users/1707/stamps?limit=20', 'stamps.json')
25
+ stub_get('https://pengwynn:0U812@api.gowalla.com/users/1707/stamps?limit=20', 'stamps.json')
26
26
  stamps = @client.stamps(1707)
27
27
  stamps.size.should == 20
28
28
  stamps.first.spot.name.should == "Muck-N-Dave's Texas BBQ"
@@ -30,7 +30,7 @@ class UsersTest < Test::Unit::TestCase
30
30
  end
31
31
 
32
32
  should "retrieve a list of spots the user has visited most often" do
33
- stub_get('http://pengwynn:0U812@api.gowalla.com/users/1707/top_spots', 'top_spots.json')
33
+ stub_get('https://pengwynn:0U812@api.gowalla.com/users/1707/top_spots', 'top_spots.json')
34
34
  top_spots = @client.top_spots(1707)
35
35
  top_spots.size.should == 10
36
36
  top_spots.first.name.should == 'Juan Pelota Cafe'
@@ -38,41 +38,49 @@ class UsersTest < Test::Unit::TestCase
38
38
  end
39
39
 
40
40
  should "retrieve a list of spot urls the user has visited" do
41
- stub_get('http://pengwynn:0U812@api.gowalla.com/users/sco/visited_spots_urls', 'spots_urls.json')
41
+ stub_get('https://pengwynn:0U812@api.gowalla.com/users/sco/visited_spots_urls', 'spots_urls.json')
42
42
  spot_urls = @client.visited_spots_urls('sco')
43
43
  spot_urls.size.should == 22
44
44
  spot_urls.first.should == '/spots/682460'
45
45
  end
46
46
 
47
+ should "retrieve a list of the user's most recent checkins" do
48
+ stub_get('https://pengwynn:0U812@api.gowalla.com/users/1707/events', 'user_events.json')
49
+ user_events = @client.user_events(1707)
50
+ user_events.size.should == 10
51
+ user_events.first.url.should == '/checkins/18863224'
52
+ user_events.first.spot.name.should == "Barktoberfest"
53
+ end
54
+
47
55
  should "retrieve a list of items the user is carrying" do
48
- stub_get('http://pengwynn:0U812@api.gowalla.com/users/sco/items?context=vault', 'items.json')
56
+ stub_get('https://pengwynn:0U812@api.gowalla.com/users/sco/items?context=vault', 'items.json')
49
57
  items = @client.user_items('sco', 'vault')
50
58
  items.first.issue_number.should == 27868
51
59
  items.first.name.should == 'Bowl of Noodles'
52
60
  end
53
61
 
54
62
  should "retrieve a list of friends for the user" do
55
- stub_get('http://pengwynn:0U812@api.gowalla.com/users/sco/friends', 'users.json')
63
+ stub_get('https://pengwynn:0U812@api.gowalla.com/users/sco/friends', 'users.json')
56
64
  users = @client.friends('sco')
57
65
  users.first.first_name.should == 'Chalkbot'
58
66
  end
59
67
 
60
68
  should "retrieve a list of trips created by the user" do
61
- stub_get('http://pengwynn:0U812@api.gowalla.com/users/sco/trips', 'trips.json')
69
+ stub_get('https://pengwynn:0U812@api.gowalla.com/users/sco/trips', 'trips.json')
62
70
  trips = @client.user_trips('sco')
63
71
  trips.first.name.should == 'London Pub Crawl'
64
72
  trips.first.spots.first.url.should == '/spots/164009'
65
73
  end
66
74
 
67
75
  should "retrieve a list of photos taken by the user" do
68
- stub_get('http://pengwynn:0U812@api.gowalla.com/users/sco/photos', 'photos.json')
76
+ stub_get('https://pengwynn:0U812@api.gowalla.com/users/sco/photos', 'photos.json')
69
77
  photos = @client.user_photos('sco')
70
78
  #photos.first.type.should == 'photo'
71
79
  photos.first.photo_urls.square_50.should == 'http://static.gowalla.com/photos/912078_square_50.jpg'
72
80
  end
73
81
 
74
82
  should "retrieve a list of pins collected by the user" do
75
- stub_get('http://pengwynn:0U812@api.gowalla.com/users/sco/pins', 'pins.json')
83
+ stub_get('https://pengwynn:0U812@api.gowalla.com/users/sco/pins', 'pins.json')
76
84
  pins = @client.user_pins('sco')
77
85
  pins.first.name.should == '110 Film'
78
86
  #pins.first.trip.type.should == 'challenge'
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gowalla
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 9
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
- - 4
8
- - 2
9
- version: 0.4.2
8
+ - 5
9
+ - 1
10
+ version: 0.5.1
10
11
  platform: ruby
11
12
  authors:
12
13
  - Wynn Netherland
@@ -15,7 +16,7 @@ autorequire:
15
16
  bindir: bin
16
17
  cert_chain: []
17
18
 
18
- date: 2010-10-02 00:00:00 -05:00
19
+ date: 2010-10-10 00:00:00 -05:00
19
20
  default_executable:
20
21
  dependencies:
21
22
  - !ruby/object:Gem::Dependency
@@ -26,6 +27,7 @@ dependencies:
26
27
  requirements:
27
28
  - - ">="
28
29
  - !ruby/object:Gem::Version
30
+ hash: 3
29
31
  segments:
30
32
  - 0
31
33
  version: "0"
@@ -39,6 +41,7 @@ dependencies:
39
41
  requirements:
40
42
  - - ~>
41
43
  - !ruby/object:Gem::Version
44
+ hash: 5
42
45
  segments:
43
46
  - 0
44
47
  - 4
@@ -54,6 +57,7 @@ dependencies:
54
57
  requirements:
55
58
  - - ~>
56
59
  - !ruby/object:Gem::Version
60
+ hash: 27
57
61
  segments:
58
62
  - 0
59
63
  - 1
@@ -69,6 +73,7 @@ dependencies:
69
73
  requirements:
70
74
  - - ~>
71
75
  - !ruby/object:Gem::Version
76
+ hash: 39
72
77
  segments:
73
78
  - 2
74
79
  - 10
@@ -84,6 +89,7 @@ dependencies:
84
89
  requirements:
85
90
  - - ~>
86
91
  - !ruby/object:Gem::Version
92
+ hash: 15
87
93
  segments:
88
94
  - 0
89
95
  - 4
@@ -99,6 +105,7 @@ dependencies:
99
105
  requirements:
100
106
  - - ">="
101
107
  - !ruby/object:Gem::Version
108
+ hash: 3
102
109
  segments:
103
110
  - 0
104
111
  version: "0"
@@ -112,6 +119,7 @@ dependencies:
112
119
  requirements:
113
120
  - - ">="
114
121
  - !ruby/object:Gem::Version
122
+ hash: 23
115
123
  segments:
116
124
  - 1
117
125
  - 0
@@ -152,7 +160,6 @@ files:
152
160
  - test/fixtures/category.json
153
161
  - test/fixtures/challenges.json
154
162
  - test/fixtures/checkin.json
155
- - test/fixtures/events.json
156
163
  - test/fixtures/find_spots.json
157
164
  - test/fixtures/find_trips.json
158
165
  - test/fixtures/flag.json
@@ -170,6 +177,7 @@ files:
170
177
  - test/fixtures/pins.json
171
178
  - test/fixtures/potential_twitter_friends.json
172
179
  - test/fixtures/spot.json
180
+ - test/fixtures/spot_events.json
173
181
  - test/fixtures/spots.json
174
182
  - test/fixtures/spots_by_category.json
175
183
  - test/fixtures/spots_urls.json
@@ -178,6 +186,7 @@ files:
178
186
  - test/fixtures/trip.json
179
187
  - test/fixtures/trips.json
180
188
  - test/fixtures/user.json
189
+ - test/fixtures/user_events.json
181
190
  - test/fixtures/users.json
182
191
  - test/fixtures/vaulted_items.json
183
192
  - test/fixtures/visited_spots.json
@@ -201,6 +210,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
201
210
  requirements:
202
211
  - - ">="
203
212
  - !ruby/object:Gem::Version
213
+ hash: 3
204
214
  segments:
205
215
  - 0
206
216
  version: "0"
@@ -209,6 +219,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
209
219
  requirements:
210
220
  - - ">="
211
221
  - !ruby/object:Gem::Version
222
+ hash: 23
212
223
  segments:
213
224
  - 1
214
225
  - 3
@@ -228,7 +239,6 @@ test_files:
228
239
  - test/fixtures/category.json
229
240
  - test/fixtures/challenges.json
230
241
  - test/fixtures/checkin.json
231
- - test/fixtures/events.json
232
242
  - test/fixtures/find_spots.json
233
243
  - test/fixtures/find_trips.json
234
244
  - test/fixtures/flag.json
@@ -246,6 +256,7 @@ test_files:
246
256
  - test/fixtures/pins.json
247
257
  - test/fixtures/potential_twitter_friends.json
248
258
  - test/fixtures/spot.json
259
+ - test/fixtures/spot_events.json
249
260
  - test/fixtures/spots.json
250
261
  - test/fixtures/spots_by_category.json
251
262
  - test/fixtures/spots_urls.json
@@ -254,6 +265,7 @@ test_files:
254
265
  - test/fixtures/trip.json
255
266
  - test/fixtures/trips.json
256
267
  - test/fixtures/user.json
268
+ - test/fixtures/user_events.json
257
269
  - test/fixtures/users.json
258
270
  - test/fixtures/vaulted_items.json
259
271
  - test/fixtures/visited_spots.json