gowalla 0.2.1 → 0.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/lib/gowalla.rb +6 -1
- data/lib/gowalla/client.rb +49 -0
- data/test/gowalla_test.rb +50 -0
- metadata +4 -4
data/lib/gowalla.rb
CHANGED
|
@@ -10,7 +10,7 @@ Hash.send :include, Hashie::HashExtensions
|
|
|
10
10
|
|
|
11
11
|
module Gowalla
|
|
12
12
|
|
|
13
|
-
VERSION = "0.
|
|
13
|
+
VERSION = "0.3.0".freeze
|
|
14
14
|
|
|
15
15
|
# config/initializers/gowalla.rb (for instance)
|
|
16
16
|
#
|
|
@@ -33,6 +33,11 @@ module Gowalla
|
|
|
33
33
|
attr_accessor :username
|
|
34
34
|
attr_accessor :password
|
|
35
35
|
attr_accessor :api_secret
|
|
36
|
+
attr_accessor :test_mode
|
|
37
|
+
|
|
38
|
+
def test_mode?
|
|
39
|
+
!!self.test_mode
|
|
40
|
+
end
|
|
36
41
|
end
|
|
37
42
|
|
|
38
43
|
end
|
data/lib/gowalla/client.rb
CHANGED
|
@@ -87,6 +87,29 @@ module Gowalla
|
|
|
87
87
|
connection.get("/spots/#{spot_id}/items").body.items
|
|
88
88
|
end
|
|
89
89
|
|
|
90
|
+
# Retrieve a list of flags for a particular spot
|
|
91
|
+
#
|
|
92
|
+
# @param [Integer] spot_id Spot ID
|
|
93
|
+
# @return [Hashie::Mash] Array of Flags
|
|
94
|
+
def spot_flags(spot_id)
|
|
95
|
+
connection.get("/spots/#{spot_id}/flags").body.flags
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
# Retrieve a list of flags
|
|
99
|
+
#
|
|
100
|
+
# @return [<Hashie::Mash>] Flag info
|
|
101
|
+
def list_flags(options={})
|
|
102
|
+
connection.get("/flags").body.flags
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
# Retrieve information about a particular flag
|
|
106
|
+
#
|
|
107
|
+
# @param [Integer] flag_id Flag ID
|
|
108
|
+
# @return [Hashie::Mash] Flag info
|
|
109
|
+
def flag(flag_id)
|
|
110
|
+
connection.get("/flags/#{flag_id}").body
|
|
111
|
+
end
|
|
112
|
+
|
|
90
113
|
# Retrieve a list of spots within a specified distance of a location
|
|
91
114
|
#
|
|
92
115
|
# @option options [Float] :latitude Latitude of search location
|
|
@@ -130,6 +153,32 @@ module Gowalla
|
|
|
130
153
|
connection.get("/categories/#{id}").body
|
|
131
154
|
end
|
|
132
155
|
|
|
156
|
+
# Fetch info for a checkin
|
|
157
|
+
#
|
|
158
|
+
# @param [Integer] id Checkin ID
|
|
159
|
+
# @return [Hashie::Mash] checkin info
|
|
160
|
+
def checkin_info(id)
|
|
161
|
+
connection.get("/checkins/#{id}").body
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
# Check in at a spot
|
|
165
|
+
#
|
|
166
|
+
# @option details [Integer] :spot_id Spot ID
|
|
167
|
+
# @option details [Float] :lat Latitude of spot
|
|
168
|
+
# @option details [Float] :lng Longitude of spot
|
|
169
|
+
# @option details [String] :comment Checkin comment
|
|
170
|
+
# @option details [Boolean] :post_to_twitter Post Checkin to Twitter
|
|
171
|
+
# @option details [Boolean] :post_to_facebook Post Checkin to Facebook
|
|
172
|
+
def checkin(details={})
|
|
173
|
+
checkin_path = "/checkins"
|
|
174
|
+
checkin_path += "/test" if Gowalla.test_mode?
|
|
175
|
+
response = connection.post do |req|
|
|
176
|
+
req.url checkin_path
|
|
177
|
+
req.body = details
|
|
178
|
+
end
|
|
179
|
+
response.body
|
|
180
|
+
end
|
|
181
|
+
|
|
133
182
|
# Check for missing access token
|
|
134
183
|
#
|
|
135
184
|
# @return [Boolean] whether or not to redirect to get an access token
|
data/test/gowalla_test.rb
CHANGED
|
@@ -58,6 +58,15 @@ class GowallaTest < Test::Unit::TestCase
|
|
|
58
58
|
category = @client.category(1)
|
|
59
59
|
category.name.should == 'Coffee Shop'
|
|
60
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
|
|
61
70
|
end
|
|
62
71
|
|
|
63
72
|
context "and working with Users" do
|
|
@@ -113,6 +122,34 @@ class GowallaTest < Test::Unit::TestCase
|
|
|
113
122
|
end
|
|
114
123
|
end
|
|
115
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
|
|
116
153
|
end
|
|
117
154
|
|
|
118
155
|
context "when using basic auth" do
|
|
@@ -132,6 +169,19 @@ class GowallaTest < Test::Unit::TestCase
|
|
|
132
169
|
|
|
133
170
|
@client.username.should == 'username'
|
|
134
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
|
|
135
185
|
end
|
|
136
186
|
|
|
137
187
|
context "when using OAuth2" do
|
metadata
CHANGED
|
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
|
|
|
4
4
|
prerelease: false
|
|
5
5
|
segments:
|
|
6
6
|
- 0
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
version: 0.
|
|
7
|
+
- 3
|
|
8
|
+
- 0
|
|
9
|
+
version: 0.3.0
|
|
10
10
|
platform: ruby
|
|
11
11
|
authors:
|
|
12
12
|
- Wynn Netherland
|
|
@@ -14,7 +14,7 @@ autorequire:
|
|
|
14
14
|
bindir: bin
|
|
15
15
|
cert_chain: []
|
|
16
16
|
|
|
17
|
-
date: 2010-
|
|
17
|
+
date: 2010-08-09 00:00:00 -05:00
|
|
18
18
|
default_executable:
|
|
19
19
|
dependencies:
|
|
20
20
|
- !ruby/object:Gem::Dependency
|