gowalla 0.4.2 → 0.5.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.
@@ -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