gowalla 0.3.0 → 0.4.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/.document +5 -0
- data/.gitignore +25 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +43 -0
- data/LICENSE +20 -0
- data/README.md +96 -0
- data/Rakefile +14 -0
- data/changelog.md +33 -0
- data/gowalla.gemspec +30 -0
- data/lib/gowalla.rb +26 -22
- data/lib/gowalla/checkins.rb +31 -0
- data/lib/gowalla/client.rb +22 -176
- data/lib/gowalla/flags.rb +42 -0
- data/lib/gowalla/items.rb +22 -0
- data/lib/gowalla/spots.rb +67 -0
- data/lib/gowalla/trips.rb +27 -0
- data/lib/gowalla/users.rb +91 -0
- data/lib/gowalla/version.rb +3 -0
- data/test/checkins_test.rb +18 -0
- data/test/client_test.rb +72 -0
- data/test/fixtures/categories.json +1826 -0
- data/test/fixtures/category.json +8 -0
- data/test/fixtures/challenges.json +191 -0
- data/test/fixtures/checkin.json +21 -0
- data/test/fixtures/events.json +185 -0
- data/test/fixtures/find_spots.json +620 -0
- data/test/fixtures/find_trips.json +695 -0
- data/test/fixtures/flag.json +23 -0
- data/test/fixtures/flags.json +31 -0
- data/test/fixtures/friend_requests.json +21 -0
- data/test/fixtures/friends.json +3 -0
- data/test/fixtures/friends_recent.json +243 -0
- data/test/fixtures/item.json +8 -0
- data/test/fixtures/item_events.json +35 -0
- data/test/fixtures/items.json +100 -0
- data/test/fixtures/me.json +49 -0
- data/test/fixtures/missing_items.json +1 -0
- data/test/fixtures/new_spot.json +49 -0
- data/test/fixtures/photos.json +88 -0
- data/test/fixtures/pins.json +81 -0
- data/test/fixtures/potential_twitter_friends.json +2090 -0
- data/test/fixtures/spot.json +251 -0
- data/test/fixtures/spots.json +557 -0
- data/test/fixtures/spots_by_category.json +620 -0
- data/test/fixtures/spots_urls.json +26 -0
- data/test/fixtures/stamps.json +284 -0
- data/test/fixtures/top_spots.json +64 -0
- data/test/fixtures/trip.json +22 -0
- data/test/fixtures/trips.json +881 -0
- data/test/fixtures/user.json +43 -0
- data/test/fixtures/users.json +46 -0
- data/test/fixtures/vaulted_items.json +12 -0
- data/test/fixtures/visited_spots.json +1 -0
- data/test/flags_test.rb +46 -0
- data/test/helper.rb +6 -6
- data/test/items_test.rb +26 -0
- data/test/spots_test.rb +70 -0
- data/test/trips_test.rb +25 -0
- data/test/users_test.rb +83 -0
- metadata +177 -29
- data/test/gowalla_test.rb +0 -214
data/test/gowalla_test.rb
DELETED
@@ -1,214 +0,0 @@
|
|
1
|
-
require 'helper'
|
2
|
-
|
3
|
-
class GowallaTest < Test::Unit::TestCase
|
4
|
-
|
5
|
-
context "When using the Gowalla API" do
|
6
|
-
setup do
|
7
|
-
@client = Gowalla::Client.new(:username => 'pengwynn', :password => '0U812', :api_key => 'gowallawallabingbang')
|
8
|
-
end
|
9
|
-
|
10
|
-
context "and working with Spots" do
|
11
|
-
should "Retrieve a list of spots within a specified distance of a location" do
|
12
|
-
stub_get("http://pengwynn:0U812@api.gowalla.com/spots?lat=%2B33.237593417&lng=-96.960559033&radius=50", "spots.json")
|
13
|
-
spots = @client.list_spots(:lat => 33.237593417, :lng => -96.960559033, :radius => 50)
|
14
|
-
spots.first.name.should == 'Gnomb Bar'
|
15
|
-
spots.first.radius_meters.should == 50
|
16
|
-
end
|
17
|
-
|
18
|
-
should "Retrieve a list of spots within a specified bounds" do
|
19
|
-
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")
|
20
|
-
spots = @client.list_spots(:sw => "(39.25565142103586, -8.717308044433594)", :nw => "(39.31411296530539, -8.490715026855469)")
|
21
|
-
spots.first.name.should == 'Gnomb Bar'
|
22
|
-
end
|
23
|
-
|
24
|
-
should "Retrieve information about a specific spot" do
|
25
|
-
stub_get('http://pengwynn:0U812@api.gowalla.com/spots/18568', 'spot.json')
|
26
|
-
spot = @client.spot(18568)
|
27
|
-
spot.name.should == "Wahoo's"
|
28
|
-
spot.twitter_username.should == 'Wahoos512'
|
29
|
-
spot.spot_categories.first.name.should == 'Mexican'
|
30
|
-
end
|
31
|
-
|
32
|
-
should "retrieve a list of check-ins at a particular spot. Shows only the activity that is visible to a given user" do
|
33
|
-
stub_get('http://pengwynn:0U812@api.gowalla.com/spots/452593/events', 'events.json')
|
34
|
-
events = @client.spot_events(452593)
|
35
|
-
events.first[:type].should == 'checkin'
|
36
|
-
events.first.user.last_name.should == 'Mack'
|
37
|
-
end
|
38
|
-
|
39
|
-
should "retrieve a list of items available at a particular spot" do
|
40
|
-
stub_get('http://pengwynn:0U812@api.gowalla.com/spots/18568/items', 'items.json')
|
41
|
-
items = @client.spot_items(18568)
|
42
|
-
items.first.issue_number.should == 27868
|
43
|
-
items.first.name.should == 'Bowl of Noodles'
|
44
|
-
end
|
45
|
-
|
46
|
-
should "lists all spot categories" do
|
47
|
-
stub_get("http://pengwynn:0U812@api.gowalla.com/categories", "categories.json")
|
48
|
-
categories = @client.categories
|
49
|
-
categories.size.should == 9
|
50
|
-
categories.first.name.should == 'Architecture & Buildings'
|
51
|
-
categories.first.description.should == 'Bridge, Corporate, Home, Church, etc.'
|
52
|
-
categories.first.spot_categories.size.should == 15
|
53
|
-
categories.first.spot_categories.first.name.should == 'Bridge'
|
54
|
-
end
|
55
|
-
|
56
|
-
should "retrieve information about a specific category" do
|
57
|
-
stub_get("http://pengwynn:0U812@api.gowalla.com/categories/1", "category.json")
|
58
|
-
category = @client.category(1)
|
59
|
-
category.name.should == 'Coffee Shop'
|
60
|
-
end
|
61
|
-
|
62
|
-
should "retrieve flags associated with that spot" do
|
63
|
-
stub_get("http://pengwynn:0U812@api.gowalla.com/spots/1/flags", "flags.json")
|
64
|
-
flags = @client.spot_flags(1)
|
65
|
-
flags.first.spot.name.should == 'Wild Gowallaby #1'
|
66
|
-
flags.first.user.url.should == '/users/340897'
|
67
|
-
flags.first[:type].should == 'invalid'
|
68
|
-
flags.first.status.should == 'open'
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
context "and working with Users" do
|
73
|
-
|
74
|
-
should "retrieve information about a specific user" do
|
75
|
-
stub_get('http://pengwynn:0U812@api.gowalla.com/users/sco', 'user.json')
|
76
|
-
user = @client.user('sco')
|
77
|
-
user.bio.should == "CTO & co-founder of Gowalla. Ruby/Cocoa/JavaScript developer. Game designer. Author. Indoorsman."
|
78
|
-
user.stamps_count.should == 506
|
79
|
-
end
|
80
|
-
|
81
|
-
should "retrieve a list of the stamps the user has collected" do
|
82
|
-
stub_get('http://pengwynn:0U812@api.gowalla.com/users/1707/stamps?limit=20', 'stamps.json')
|
83
|
-
stamps = @client.stamps(1707)
|
84
|
-
stamps.size.should == 20
|
85
|
-
stamps.first.spot.name.should == "Muck-N-Dave's Texas BBQ"
|
86
|
-
stamps.first.spot.address.locality.should == 'Austin'
|
87
|
-
end
|
88
|
-
|
89
|
-
should "retrieve a list of spots the user has visited most often" do
|
90
|
-
stub_get('http://pengwynn:0U812@api.gowalla.com/users/1707/top_spots', 'top_spots.json')
|
91
|
-
top_spots = @client.top_spots(1707)
|
92
|
-
top_spots.size.should == 10
|
93
|
-
top_spots.first.name.should == 'Juan Pelota Cafe'
|
94
|
-
top_spots.first.user_checkins_count.should == 30
|
95
|
-
end
|
96
|
-
|
97
|
-
end
|
98
|
-
|
99
|
-
context "and working with Items" do
|
100
|
-
should "retrieve information about a specific item" do
|
101
|
-
stub_get('http://pengwynn:0U812@api.gowalla.com/items/607583', 'item.json')
|
102
|
-
item = @client.item(607583)
|
103
|
-
item.issue_number.should == 13998
|
104
|
-
item.name.should == 'Sweets'
|
105
|
-
item.determiner.should == 'some'
|
106
|
-
end
|
107
|
-
end
|
108
|
-
|
109
|
-
context "and working with Trips" do
|
110
|
-
should "retrieve a list of trips" do
|
111
|
-
stub_get('http://pengwynn:0U812@api.gowalla.com/trips', 'trips.json')
|
112
|
-
trips = @client.trips
|
113
|
-
trips.first.name.should == 'London Pub Crawl'
|
114
|
-
trips.first.spots.first.url.should == '/spots/164009'
|
115
|
-
end
|
116
|
-
|
117
|
-
should "retrieve information about a specific trip" do
|
118
|
-
stub_get('http://pengwynn:0U812@api.gowalla.com/trips/1', 'trip.json')
|
119
|
-
trip = @client.trip(1)
|
120
|
-
trip.creator.last_name.should == 'Gowalla'
|
121
|
-
trip.map_bounds.east.should == -63.457031
|
122
|
-
end
|
123
|
-
end
|
124
|
-
|
125
|
-
context "and working with Flags" do
|
126
|
-
should "retrieve a list of flags" do
|
127
|
-
stub_get("http://pengwynn:0U812@api.gowalla.com/flags", "flags.json")
|
128
|
-
flags = @client.list_flags
|
129
|
-
flags.first.spot.name.should == 'Wild Gowallaby #1'
|
130
|
-
flags.first.user.url.should == '/users/340897'
|
131
|
-
flags.first[:type].should == 'invalid'
|
132
|
-
flags.first.status.should == 'open'
|
133
|
-
end
|
134
|
-
|
135
|
-
should "retrieve information about a specific flag" do
|
136
|
-
stub_get("http://pengwynn:0U812@api.gowalla.com/flags/1", "flag.json")
|
137
|
-
flag = @client.flag(1)
|
138
|
-
flag.spot.name.should == 'Wild Gowallaby #1'
|
139
|
-
flag.user.url.should == '/users/340897'
|
140
|
-
flag[:type].should == 'invalid'
|
141
|
-
flag.status.should == 'open'
|
142
|
-
end
|
143
|
-
end
|
144
|
-
|
145
|
-
context "and working with checkins" do
|
146
|
-
should "fetch info for a checkin" do
|
147
|
-
stub_get("http://pengwynn:0U812@api.gowalla.com/checkins/88", "checkin.json")
|
148
|
-
checkin = @client.checkin_info(88)
|
149
|
-
checkin.spot.name.should == 'Movie Tavern'
|
150
|
-
checkin.message.should == 'There sending us Back-- to the Future!'
|
151
|
-
end
|
152
|
-
end
|
153
|
-
end
|
154
|
-
|
155
|
-
context "when using basic auth" do
|
156
|
-
should "configure api_key, username, and password for easy access" do
|
157
|
-
|
158
|
-
Gowalla.configure do |config|
|
159
|
-
config.api_key = 'api_key'
|
160
|
-
config.api_secret = nil
|
161
|
-
config.username = 'username'
|
162
|
-
config.password = 'password'
|
163
|
-
end
|
164
|
-
|
165
|
-
@client = Gowalla::Client.new
|
166
|
-
|
167
|
-
stub_get('http://username:password@api.gowalla.com/trips', 'trips.json')
|
168
|
-
trips = @client.trips
|
169
|
-
|
170
|
-
@client.username.should == 'username'
|
171
|
-
end
|
172
|
-
|
173
|
-
should "configure test mode" do
|
174
|
-
Gowalla.configure do |config|
|
175
|
-
config.api_key = 'api_key'
|
176
|
-
config.api_secret = nil
|
177
|
-
config.username = 'username'
|
178
|
-
config.password = 'password'
|
179
|
-
config.test_mode = true
|
180
|
-
end
|
181
|
-
|
182
|
-
Gowalla.test_mode?.should == true
|
183
|
-
|
184
|
-
end
|
185
|
-
end
|
186
|
-
|
187
|
-
context "when using OAuth2" do
|
188
|
-
|
189
|
-
setup do
|
190
|
-
Gowalla.configure do |config|
|
191
|
-
config.api_key = 'api_key'
|
192
|
-
config.api_secret = 'api_secret'
|
193
|
-
end
|
194
|
-
|
195
|
-
@client = Gowalla::Client.new
|
196
|
-
end
|
197
|
-
|
198
|
-
should "confiure api_key, api_secret" do
|
199
|
-
@client.api_secret.should == 'api_secret'
|
200
|
-
@client.oauth_client.id.should == 'api_key'
|
201
|
-
end
|
202
|
-
|
203
|
-
should "create an OAuth2 client" do
|
204
|
-
@client.oauth_client.class.to_s.should == "OAuth2::Client"
|
205
|
-
end
|
206
|
-
|
207
|
-
should "indicate if it needs an access_token" do
|
208
|
-
@client.needs_access?.should == true
|
209
|
-
end
|
210
|
-
|
211
|
-
end
|
212
|
-
|
213
|
-
|
214
|
-
end
|