gowalla 0.5.2 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,22 +2,22 @@ PATH
2
2
  remote: .
3
3
  specs:
4
4
  gowalla (0.5.2)
5
- faraday (~> 0.5.0)
6
- faraday_middleware (~> 0.1.6)
5
+ faraday (~> 0.5.1)
6
+ faraday_middleware (~> 0.2.0)
7
7
  hashie (~> 0.4.0)
8
8
  oauth2 (~> 0.1.0)
9
9
 
10
10
  GEM
11
11
  remote: http://rubygems.org/
12
12
  specs:
13
- addressable (2.1.2)
13
+ addressable (2.2.2)
14
14
  fakeweb (1.3.0)
15
- faraday (0.5.0)
16
- addressable (~> 2.1.1)
15
+ faraday (0.5.1)
16
+ addressable (~> 2.2.2)
17
17
  multipart-post (~> 1.0.1)
18
18
  rack (~> 1.2.1)
19
- faraday_middleware (0.1.6)
20
- faraday (~> 0.5.0)
19
+ faraday_middleware (0.2.0)
20
+ faraday (~> 0.5.1)
21
21
  hashie (0.4.0)
22
22
  jnunemaker-matchy (0.4.0)
23
23
  json_pure (1.4.6)
@@ -29,6 +29,7 @@ GEM
29
29
  rack (1.2.1)
30
30
  rake (0.8.7)
31
31
  shoulda (2.11.3)
32
+ test-unit (2.1.1)
32
33
 
33
34
  PLATFORMS
34
35
  ruby
@@ -36,8 +37,8 @@ PLATFORMS
36
37
  DEPENDENCIES
37
38
  bundler (~> 1.0)
38
39
  fakeweb (~> 1.3)
39
- faraday (~> 0.5.0)
40
- faraday_middleware (~> 0.1.6)
40
+ faraday (~> 0.5.1)
41
+ faraday_middleware (~> 0.2.0)
41
42
  gowalla!
42
43
  hashie (~> 0.4.0)
43
44
  jnunemaker-matchy (~> 0.4)
@@ -45,3 +46,4 @@ DEPENDENCIES
45
46
  oauth2 (~> 0.1.0)
46
47
  rake (~> 0.8)
47
48
  shoulda (~> 2.11)
49
+ test-unit (~> 2.1)
data/README.md CHANGED
@@ -2,21 +2,20 @@
2
2
 
3
3
  Ruby wrapper for the [Gowalla API](http://gowalla.com/api/docs).
4
4
 
5
-
6
5
  ## Installation
7
6
 
8
7
  sudo gem install gowalla
9
-
8
+
10
9
  ## Get your API key
11
10
 
12
11
  Be sure and get your API key: [http://gowalla.com/api/keys](http://gowalla.com/api/keys)
13
-
12
+
14
13
  ## Usage
15
14
 
16
15
  ### Instantiate a client (Basic Auth)
17
16
 
18
17
  gowalla = Gowalla::Client.new(:username => 'pengwynn', :password => 'somepassword', :api_key => 'your_api_key')
19
-
18
+
20
19
  ### or configure once
21
20
 
22
21
  Gowalla.configure do |config|
@@ -25,7 +24,7 @@ Be sure and get your API key: [http://gowalla.com/api/keys](http://gowalla.com/a
25
24
  config.password = 'somepassword'
26
25
  end
27
26
  gowalla = Gowalla::Client.new
28
-
27
+
29
28
  ### Instantiate a client (OAuth2)
30
29
 
31
30
  For OAuth2, you'll need to specify a callback URL when you [set up your app and get your API keys](http://gowalla.com/api/keys).
@@ -33,7 +32,7 @@ For OAuth2, you'll need to specify a callback URL when you [set up your app and
33
32
  Let's create the client in a protected method in our controller:
34
33
 
35
34
  protected
36
- def client
35
+ def client
37
36
  Gowalla::Client.new (
38
37
  :api_key => "your_api_key",
39
38
  :api_secret => "your_api_secret",
@@ -42,46 +41,43 @@ Let's create the client in a protected method in our controller:
42
41
  end
43
42
 
44
43
  We need to get an access token. Perhaps in an a before filter where you need to access Gowalla:
45
-
44
+
46
45
  redirect(@client.web_server.authorize_url(:redirect_uri => redirect_uri, :state => 1))
47
46
 
48
47
  or if you need read-write access:
49
48
 
50
49
  redirect(@client.web_server.authorize_url(:redirect_uri => redirect_uri, :state => 1, :scope => 'read-write))
51
-
50
+
52
51
  You'll need a callback route to catch the code coming back from Gowalla after a user grants you access and this must match what you specified when you created your app on Gowalla:
53
52
 
54
53
  get '/auth/gowalla/callback' do
55
54
  session[:access_token] = client.web_server.get_access_token(params[:code], :redirect_uri => redirect_uri).token
56
-
55
+
57
56
  if session[:access_token]
58
57
  redirect '/auth/gowalla/test'
59
58
  else
60
59
  "Error retrieving access token."
61
60
  end
62
61
  end
63
-
62
+
64
63
  Now that we have an access token we can use the client to make calls, just like we would with Basic Auth. You can checkout a basic [Sinatra example](http://gist.github.com/454283).
65
-
64
+
66
65
  #### Examples
67
66
 
68
67
  gowalla.user('pengwynn')
69
68
  => <#Hashie::Mash accept_url="/friendships/accept?user_id=1707" activity_url="/users/1707/events" bio="Web designer and Ruby developer." events_url="/users/1707/events" fb_id=605681706 first_name="Wynn" friends_count=27 friends_only=false friends_url="/users/1707/friends" hometown="Aubrey, TX" image_url="http://s3.amazonaws.com/static.gowalla.com/users/1707-standard.jpg?1262011383" is_friend=false items_count=5 items_url="/users/1707/items" last_name="Netherland" last_visit=<#Hashie::Mash comment="Closing every account I have " created_at="2010/01/26 15:31:46 +0000" spot=<#Hashie::Mash image_url="http://static.gowalla.com/categories/186-standard.png" name="Bank Of America" small_image_url="http://static.gowalla.com/categories/186-small-standard.png" url="/spots/164052"name="Wynn Netherland" pins_count=3 pins_url="/users/1707/pins" reject_url="/friendships/reject?user_id=1707" request_url="/friendships/request?user_id=1707" stamps_count=15 stamps_url="/users/1707/stamps" top_spots_url="/users/1707/top_spots" twitter_username="pengwynn" url="/users/1707" username="pengwynn" vaulted_kinds_count=0 visited_spots_count=15 website="http://wynnnetherland.com">
70
-
71
69
 
72
70
  Details for the current user
73
71
 
74
72
  gowalla.user
75
-
73
+
76
74
  Details for another user
77
75
 
78
76
  gowalla.user('bradleyjoyce')
79
77
  gowalla.user(1707)
80
-
81
-
82
78
 
83
79
  ## Note on Patches/Pull Requests
84
-
80
+
85
81
  * Fork the project.
86
82
  * Make your feature addition or bug fix.
87
83
  * Add tests for it. This is important so I don't break it in a
@@ -1,4 +1,6 @@
1
1
  # Changelog
2
+ ## 0.5.3 October 26, 2010
3
+ * Patch from [sferik](http://github.com/sferik) for dependency updates
2
4
  ## 0.5.2 October 14, 2010
3
5
  * Patch from [sferik](http://github.com/sferik) for dependency updates
4
6
  ## 0.5.1 October 10, 2010
@@ -1,31 +1,32 @@
1
1
  # -*- encoding: utf-8 -*-
2
- require File.expand_path("../lib/gowalla/version", __FILE__)
2
+ require File.expand_path('../lib/gowalla/version', __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
- s.name = "gowalla"
5
+ s.name = 'gowalla'
6
6
  s.version = Gowalla::VERSION
7
7
  s.authors = ["Wynn Netherland", "Eric Hutzelman"]
8
- s.email = ["wynn.netherland@gmail.com"]
8
+ s.email = ['wynn.netherland@gmail.com']
9
9
  s.summary = %q{Wrapper for the Gowalla API}
10
10
  s.description = %q{Ruby wrapper for the Gowalla API}
11
- s.homepage = "http://wynnnetherland.com/projects/gowalla/"
11
+ s.homepage = 'http://wynnnetherland.com/projects/gowalla/'
12
12
 
13
- s.add_runtime_dependency "faraday", "~> 0.5.0"
14
- s.add_runtime_dependency "faraday_middleware", "~> 0.1.6"
15
- s.add_runtime_dependency "hashie", "~> 0.4.0"
16
- s.add_runtime_dependency "oauth2", "~> 0.1.0"
13
+ s.add_runtime_dependency 'faraday', '~> 0.5.1'
14
+ s.add_runtime_dependency 'faraday_middleware', '~> 0.2.0'
15
+ s.add_runtime_dependency 'hashie', '~> 0.4.0'
16
+ s.add_runtime_dependency 'oauth2', '~> 0.1.0'
17
17
 
18
- s.add_development_dependency "bundler", "~> 1.0"
19
- s.add_development_dependency "fakeweb", "~> 1.3"
20
- s.add_development_dependency "jnunemaker-matchy", "~> 0.4"
21
- s.add_development_dependency "json_pure", "~> 1.4"
22
- s.add_development_dependency "rake", "~> 0.8"
23
- s.add_development_dependency "shoulda", "~> 2.11"
18
+ s.add_development_dependency 'bundler', '~> 1.0'
19
+ s.add_development_dependency 'fakeweb', '~> 1.3'
20
+ s.add_development_dependency 'jnunemaker-matchy', '~> 0.4'
21
+ s.add_development_dependency 'json_pure', '~> 1.4'
22
+ s.add_development_dependency 'rake', '~> 0.8'
23
+ s.add_development_dependency 'shoulda', '~> 2.11'
24
+ s.add_development_dependency 'test-unit', '~> 2.1'
24
25
 
25
- s.required_rubygems_version = ">= 1.3.6"
26
+ s.required_rubygems_version = Gem::Requirement.new('>= 1.3.6') if s.respond_to? :required_rubygems_version=
26
27
  s.platform = Gem::Platform::RUBY
27
- s.require_path = 'lib'
28
+ s.require_paths = ['lib']
28
29
  s.files = `git ls-files`.split("\n")
29
30
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
30
- s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
31
+ s.executables = `git ls-files -- bin/*`.split("\n").map{|f| File.basename(f)}
31
32
  end
@@ -13,7 +13,7 @@ module Gowalla
13
13
  attr_accessor :api_secret
14
14
  attr_accessor :test_mode
15
15
 
16
- # Configures default credentials easily
16
+ # Configures default credentials easily
17
17
  # @yield [api_key, username, password]
18
18
  def configure
19
19
  yield self
@@ -40,7 +40,7 @@ module Gowalla
40
40
  params[:access_token] = @access_token if @access_token
41
41
  @connection ||= Faraday::Connection.new(:url => api_url, :params => params, :headers => default_headers) do |builder|
42
42
  builder.adapter Faraday.default_adapter
43
- builder.use Faraday::Response::ParseJson
43
+ builder.use Faraday::Response::Parse
44
44
  builder.use Faraday::Response::Mashify
45
45
  end
46
46
 
@@ -1,3 +1,3 @@
1
1
  module Gowalla
2
- VERSION = '0.5.2'
2
+ VERSION = '0.5.3'
3
3
  end
@@ -6,8 +6,6 @@ class ClientTest < Test::Unit::TestCase
6
6
  setup do
7
7
  @client = gowalla_test_client
8
8
  end
9
-
10
-
11
9
  end
12
10
 
13
11
  context "when accessing the API anonymously" do
@@ -34,7 +32,7 @@ class ClientTest < Test::Unit::TestCase
34
32
 
35
33
  @client.username.should == 'username'
36
34
  end
37
-
35
+
38
36
  should "use HTTPS to avoid sending password in plain text" do
39
37
  Gowalla.configure do |config|
40
38
  config.api_key = 'api_key'
@@ -79,7 +77,7 @@ class ClientTest < Test::Unit::TestCase
79
77
  should "use HTTPS to avoid sending credentials in plain text" do
80
78
  @client.api_url.should == 'https://api.gowalla.com'
81
79
  end
82
-
80
+
83
81
  should "create an OAuth2 client" do
84
82
  @client.oauth_client.class.to_s.should == "OAuth2::Client"
85
83
  end
@@ -90,5 +88,4 @@ class ClientTest < Test::Unit::TestCase
90
88
 
91
89
  end
92
90
 
93
-
94
91
  end
@@ -0,0 +1 @@
1
+ {"result": "flag created"}
@@ -37,10 +37,10 @@ class FlagsTest < Test::Unit::TestCase
37
37
 
38
38
  should "set a flag on a specific spot" do
39
39
  url = "https://pengwynn:0U812@api.gowalla.com/spots/1/flags/invalid"
40
- FakeWeb.register_uri(:post, url, :body => '{"result": "flag created"}')
40
+ stub_post(url, "flag_created.json")
41
41
  response = @client.flag_spot(1, 'invalid', 'my problem description')
42
42
  response.result.should == 'flag created'
43
43
  end
44
44
 
45
45
  end
46
- end
46
+ end
@@ -11,9 +11,6 @@ require 'gowalla'
11
11
 
12
12
  FakeWeb.allow_net_connect = false
13
13
 
14
- class Test::Unit::TestCase
15
- end
16
-
17
14
  def gowalla_test_client
18
15
  Gowalla::Client.new(:username => 'pengwynn', :password => '0U812', :api_key => 'gowallawallabingbang')
19
16
  end
@@ -29,12 +26,17 @@ def gowalla_url(url)
29
26
  end
30
27
 
31
28
  def stub_get(url, filename, options={})
32
- opts = {:body => fixture_file(filename)}.merge(options)
33
-
29
+ opts = {
30
+ :body => fixture_file(filename),
31
+ :content_type => 'application/json; charset=utf-8'
32
+ }.merge(options)
34
33
  FakeWeb.register_uri(:get, gowalla_url(url), opts)
35
34
  end
36
35
 
37
- def stub_post(url, filename)
38
- FakeWeb.register_uri(:post, gowalla_url(url), :body => fixture_file(filename))
36
+ def stub_post(url, filename, options={})
37
+ opts = {
38
+ :body => fixture_file(filename),
39
+ :content_type => 'application/json; charset=utf-8'
40
+ }.merge(options)
41
+ FakeWeb.register_uri(:post, gowalla_url(url), opts)
39
42
  end
40
-
@@ -67,4 +67,4 @@ class SpotsTest < Test::Unit::TestCase
67
67
 
68
68
  end
69
69
 
70
- end
70
+ end
@@ -88,4 +88,4 @@ class UsersTest < Test::Unit::TestCase
88
88
 
89
89
  end
90
90
 
91
- end
91
+ end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 5
8
- - 2
9
- version: 0.5.2
8
+ - 3
9
+ version: 0.5.3
10
10
  platform: ruby
11
11
  authors:
12
12
  - Wynn Netherland
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-10-14 00:00:00 -05:00
18
+ date: 2010-10-26 00:00:00 -05:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -29,8 +29,8 @@ dependencies:
29
29
  segments:
30
30
  - 0
31
31
  - 5
32
- - 0
33
- version: 0.5.0
32
+ - 1
33
+ version: 0.5.1
34
34
  type: :runtime
35
35
  version_requirements: *id001
36
36
  - !ruby/object:Gem::Dependency
@@ -43,9 +43,9 @@ dependencies:
43
43
  - !ruby/object:Gem::Version
44
44
  segments:
45
45
  - 0
46
- - 1
47
- - 6
48
- version: 0.1.6
46
+ - 2
47
+ - 0
48
+ version: 0.2.0
49
49
  type: :runtime
50
50
  version_requirements: *id002
51
51
  - !ruby/object:Gem::Dependency
@@ -162,6 +162,20 @@ dependencies:
162
162
  version: "2.11"
163
163
  type: :development
164
164
  version_requirements: *id010
165
+ - !ruby/object:Gem::Dependency
166
+ name: test-unit
167
+ prerelease: false
168
+ requirement: &id011 !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ~>
172
+ - !ruby/object:Gem::Version
173
+ segments:
174
+ - 2
175
+ - 1
176
+ version: "2.1"
177
+ type: :development
178
+ version_requirements: *id011
165
179
  description: Ruby wrapper for the Gowalla API
166
180
  email:
167
181
  - wynn.netherland@gmail.com
@@ -199,6 +213,7 @@ files:
199
213
  - test/fixtures/find_spots.json
200
214
  - test/fixtures/find_trips.json
201
215
  - test/fixtures/flag.json
216
+ - test/fixtures/flag_created.json
202
217
  - test/fixtures/flags.json
203
218
  - test/fixtures/friend_requests.json
204
219
  - test/fixtures/friends.json
@@ -276,6 +291,7 @@ test_files:
276
291
  - test/fixtures/find_spots.json
277
292
  - test/fixtures/find_trips.json
278
293
  - test/fixtures/flag.json
294
+ - test/fixtures/flag_created.json
279
295
  - test/fixtures/flags.json
280
296
  - test/fixtures/friend_requests.json
281
297
  - test/fixtures/friends.json