dailymile-ruby 0.1.3 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'rubygems'
2
+ require 'psych'
2
3
  require 'rake'
3
4
 
4
5
  begin
@@ -11,9 +12,9 @@ begin
11
12
  gem.homepage = "http://github.com/dailymile/dailymile-ruby"
12
13
  gem.authors = ["lostinpatterns"]
13
14
 
14
- gem.add_dependency("faraday", "~> 0.4.1")
15
+ gem.add_dependency("faraday", "~> 0.5.7")
15
16
  gem.add_dependency("json_pure")
16
- gem.add_dependency("oauth2", "0.0.13")
17
+ gem.add_dependency("oauth2", "0.1.1")
17
18
 
18
19
  # gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
19
20
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.3
1
+ 0.2.0
@@ -1,64 +1,60 @@
1
1
  # Generated by jeweler
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{dailymile-ruby}
8
- s.version = "0.1.3"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["lostinpatterns"]
12
- s.date = %q{2010-10-11}
12
+ s.date = %q{2011-03-10}
13
13
  s.description = %q{This gem wraps the dailymile API that's available at http://www.dailymile.com/api}
14
14
  s.email = %q{blweiner@gmail.com}
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE",
17
- "README.rdoc"
17
+ "README.rdoc"
18
18
  ]
19
19
  s.files = [
20
20
  ".document",
21
- ".gitignore",
22
- "LICENSE",
23
- "README.rdoc",
24
- "Rakefile",
25
- "VERSION",
26
- "dailymile-ruby.gemspec",
27
- "lib/dailymile.rb",
28
- "lib/dailymile/client.rb",
29
- "lib/dailymile/connection.rb",
30
- "lib/dailymile/connection/token.rb",
31
- "lib/oauth2_monkey_patches.rb",
32
- "test/helper.rb",
33
- "test/test_dailymile-ruby.rb"
21
+ "LICENSE",
22
+ "README.rdoc",
23
+ "Rakefile",
24
+ "VERSION",
25
+ "dailymile-ruby.gemspec",
26
+ "lib/dailymile.rb",
27
+ "lib/dailymile/client.rb",
28
+ "lib/dailymile/connection.rb",
29
+ "lib/dailymile/connection/token.rb",
30
+ "test/helper.rb",
31
+ "test/test_dailymile-ruby.rb"
34
32
  ]
35
33
  s.homepage = %q{http://github.com/dailymile/dailymile-ruby}
36
- s.rdoc_options = ["--charset=UTF-8"]
37
34
  s.require_paths = ["lib"]
38
- s.rubygems_version = %q{1.3.7}
35
+ s.rubygems_version = %q{1.5.0}
39
36
  s.summary = %q{dailymile ruby client}
40
37
  s.test_files = [
41
38
  "test/helper.rb",
42
- "test/test_dailymile-ruby.rb"
39
+ "test/test_dailymile-ruby.rb"
43
40
  ]
44
41
 
45
42
  if s.respond_to? :specification_version then
46
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
47
43
  s.specification_version = 3
48
44
 
49
45
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
50
- s.add_runtime_dependency(%q<faraday>, ["~> 0.4.1"])
46
+ s.add_runtime_dependency(%q<faraday>, ["~> 0.5.7"])
51
47
  s.add_runtime_dependency(%q<json_pure>, [">= 0"])
52
- s.add_runtime_dependency(%q<oauth2>, ["= 0.0.13"])
48
+ s.add_runtime_dependency(%q<oauth2>, ["= 0.1.1"])
53
49
  else
54
- s.add_dependency(%q<faraday>, ["~> 0.4.1"])
50
+ s.add_dependency(%q<faraday>, ["~> 0.5.7"])
55
51
  s.add_dependency(%q<json_pure>, [">= 0"])
56
- s.add_dependency(%q<oauth2>, ["= 0.0.13"])
52
+ s.add_dependency(%q<oauth2>, ["= 0.1.1"])
57
53
  end
58
54
  else
59
- s.add_dependency(%q<faraday>, ["~> 0.4.1"])
55
+ s.add_dependency(%q<faraday>, ["~> 0.5.7"])
60
56
  s.add_dependency(%q<json_pure>, [">= 0"])
61
- s.add_dependency(%q<oauth2>, ["= 0.0.13"])
57
+ s.add_dependency(%q<oauth2>, ["= 0.1.1"])
62
58
  end
63
59
  end
64
60
 
@@ -2,15 +2,11 @@ require 'faraday'
2
2
  require 'json'
3
3
  require 'oauth2'
4
4
 
5
- require 'oauth2_monkey_patches'
6
- require 'dailymile/connection'
7
- require 'dailymile/connection/token'
8
- require 'dailymile/client'
9
-
10
5
  module Dailymile
11
6
 
12
7
  VERSION = File.read(File.join(File.dirname(__FILE__), '..', 'VERSION'))
13
- BASE_URI = 'https://api.dailymile.com'
8
+ HOST = 'api.dailymile.com'
9
+ BASE_URI = "https://#{HOST}"
14
10
  OAUTH_AUTHORIZE_PATH = '/oauth/authorize'
15
11
  OAUTH_TOKEN_PATH = '/oauth/token'
16
12
 
@@ -29,4 +25,8 @@ module Dailymile
29
25
  end
30
26
  end
31
27
 
32
- end
28
+ end
29
+
30
+ require 'dailymile/connection' # require File.expand_path(File.dirname(__FILE__) + '/dailymile/connection')
31
+ require 'dailymile/connection/token'
32
+ require 'dailymile/client'
@@ -30,13 +30,13 @@ module Dailymile
30
30
  end
31
31
 
32
32
  # EXAMPLES:
33
- # everyone stream: client.entries
34
- # nearby stream: client.entries :nearby, 37.77916, -122.420049, :page => 2
35
- # ben's stream: client.entries 'ben', :page => 2
33
+ # everyone stream: Dailymile::Client.entries
34
+ # nearby stream: Dailymile::Client.entries :nearby, 37.77916, -122.420049, :page => 2
35
+ # ben's stream: Dailymile::Client.entries 'ben', :page => 2
36
36
  def self.entries(*args)
37
37
  params = extract_options_from_args!(args)
38
38
  filter = args.shift
39
-
39
+
40
40
  entries_path = case filter
41
41
  when String, Symbol
42
42
  filter = filter.to_s.strip
@@ -54,12 +54,11 @@ module Dailymile
54
54
  else
55
55
  '/entries'
56
56
  end
57
-
57
+
58
58
  data = get entries_path, params
59
59
  data["entries"]
60
60
  end
61
61
 
62
-
63
62
  private
64
63
 
65
64
  def self.extract_options_from_args!(args)
@@ -5,7 +5,7 @@ module Dailymile
5
5
  DEFAULT_FORMAT = :json
6
6
  DEFAULT_HEADERS = {
7
7
  'Accept' => 'application/json',
8
- 'User-Agent' => "dailymile-ruby/#{VERSION}"
8
+ 'User-Agent' => "dailymile-ruby/#{Dailymile::VERSION}"
9
9
  }
10
10
 
11
11
  def get(path, params = {})
@@ -28,9 +28,13 @@ module Dailymile
28
28
 
29
29
  def make_request(verb, path, params = {}, headers = {}, &block)
30
30
  path << ".#{DEFAULT_FORMAT}" unless path =~ /.+\.\w+$/
31
- path << to_query_string(params) unless params.empty?
32
31
 
33
- response = block.call verb, path, {}, DEFAULT_HEADERS.merge(headers)
32
+ if verb == :get
33
+ path << to_query_string(params) unless params.empty?
34
+ params = {}
35
+ end
36
+
37
+ response = block.call verb, path, params, DEFAULT_HEADERS.merge(headers)
34
38
 
35
39
  handle_response(response)
36
40
  end
@@ -38,7 +42,7 @@ module Dailymile
38
42
  private
39
43
 
40
44
  def request(verb, path, params = {}, headers = {})
41
- @connection ||= Faraday::Connection.new(:url => "http://api.dailymile.com", :headers => DEFAULT_HEADERS) do |builder|
45
+ @connection ||= Faraday::Connection.new(:url => "http://#{Dailymile::HOST}", :headers => DEFAULT_HEADERS) do |builder|
42
46
  builder.adapter Faraday.default_adapter
43
47
  #builder.use Faraday::Response::Mashify
44
48
  end
@@ -57,7 +61,7 @@ module Dailymile
57
61
  def handle_response(response)
58
62
  case response.status
59
63
  when 200, 201
60
- JSON.parse(response) rescue nil
64
+ JSON.parse(response) unless response.nil? # rescue nil
61
65
  when 404
62
66
  raise NotFound
63
67
  when 401
@@ -73,7 +77,7 @@ module Dailymile
73
77
  raise Unavailable, "#{response.status}: #{response}"
74
78
  end
75
79
  when 422
76
- errors = JSON.parse(response) rescue nil
80
+ errors = JSON.parse(response) unless response.nil? # rescue nil
77
81
  raise UnprocessableEntity, errors
78
82
  else
79
83
  raise DailymileError,"#{response.status}: #{response}"
@@ -21,6 +21,7 @@ module Dailymile
21
21
 
22
22
  def set_access_token(token)
23
23
  @access_token = OAuth2::AccessToken.new(@client, token)
24
+ @access_token.token_param = 'oauth_token'
24
25
  end
25
26
 
26
27
  end
metadata CHANGED
@@ -1,81 +1,59 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: dailymile-ruby
3
- version: !ruby/object:Gem::Version
4
- hash: 29
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 1
9
- - 3
10
- version: 0.1.3
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ prerelease: !!null
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - lostinpatterns
14
- autorequire:
9
+ autorequire: !!null
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2010-10-11 00:00:00 -07:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2011-03-10 00:00:00.000000000 -08:00
13
+ default_executable: !!null
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
22
16
  name: faraday
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &2153329620 !ruby/object:Gem::Requirement
25
18
  none: false
26
- requirements:
19
+ requirements:
27
20
  - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 13
30
- segments:
31
- - 0
32
- - 4
33
- - 1
34
- version: 0.4.1
21
+ - !ruby/object:Gem::Version
22
+ version: 0.5.7
35
23
  type: :runtime
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: json_pure
39
24
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
25
+ version_requirements: *2153329620
26
+ - !ruby/object:Gem::Dependency
27
+ name: json_pure
28
+ requirement: &2153329080 !ruby/object:Gem::Requirement
41
29
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- hash: 3
46
- segments:
47
- - 0
48
- version: "0"
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
49
34
  type: :runtime
50
- version_requirements: *id002
51
- - !ruby/object:Gem::Dependency
52
- name: oauth2
53
35
  prerelease: false
54
- requirement: &id003 !ruby/object:Gem::Requirement
36
+ version_requirements: *2153329080
37
+ - !ruby/object:Gem::Dependency
38
+ name: oauth2
39
+ requirement: &2153328580 !ruby/object:Gem::Requirement
55
40
  none: false
56
- requirements:
57
- - - "="
58
- - !ruby/object:Gem::Version
59
- hash: 5
60
- segments:
61
- - 0
62
- - 0
63
- - 13
64
- version: 0.0.13
41
+ requirements:
42
+ - - =
43
+ - !ruby/object:Gem::Version
44
+ version: 0.1.1
65
45
  type: :runtime
66
- version_requirements: *id003
46
+ prerelease: false
47
+ version_requirements: *2153328580
67
48
  description: This gem wraps the dailymile API that's available at http://www.dailymile.com/api
68
49
  email: blweiner@gmail.com
69
50
  executables: []
70
-
71
51
  extensions: []
72
-
73
- extra_rdoc_files:
52
+ extra_rdoc_files:
74
53
  - LICENSE
75
54
  - README.rdoc
76
- files:
55
+ files:
77
56
  - .document
78
- - .gitignore
79
57
  - LICENSE
80
58
  - README.rdoc
81
59
  - Rakefile
@@ -85,43 +63,33 @@ files:
85
63
  - lib/dailymile/client.rb
86
64
  - lib/dailymile/connection.rb
87
65
  - lib/dailymile/connection/token.rb
88
- - lib/oauth2_monkey_patches.rb
89
66
  - test/helper.rb
90
67
  - test/test_dailymile-ruby.rb
91
68
  has_rdoc: true
92
69
  homepage: http://github.com/dailymile/dailymile-ruby
93
70
  licenses: []
94
-
95
- post_install_message:
96
- rdoc_options:
97
- - --charset=UTF-8
98
- require_paths:
71
+ post_install_message: !!null
72
+ rdoc_options: []
73
+ require_paths:
99
74
  - lib
100
- required_ruby_version: !ruby/object:Gem::Requirement
75
+ required_ruby_version: !ruby/object:Gem::Requirement
101
76
  none: false
102
- requirements:
103
- - - ">="
104
- - !ruby/object:Gem::Version
105
- hash: 3
106
- segments:
107
- - 0
108
- version: "0"
109
- required_rubygems_version: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ! '>='
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ required_rubygems_version: !ruby/object:Gem::Requirement
110
82
  none: false
111
- requirements:
112
- - - ">="
113
- - !ruby/object:Gem::Version
114
- hash: 3
115
- segments:
116
- - 0
117
- version: "0"
83
+ requirements:
84
+ - - ! '>='
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
118
87
  requirements: []
119
-
120
- rubyforge_project:
121
- rubygems_version: 1.3.7
122
- signing_key:
88
+ rubyforge_project: !!null
89
+ rubygems_version: 1.5.0
90
+ signing_key: !!null
123
91
  specification_version: 3
124
92
  summary: dailymile ruby client
125
- test_files:
93
+ test_files:
126
94
  - test/helper.rb
127
95
  - test/test_dailymile-ruby.rb
data/.gitignore DELETED
@@ -1,21 +0,0 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- *.swp
15
-
16
- ## PROJECT::GENERAL
17
- coverage
18
- rdoc
19
- pkg
20
-
21
- ## PROJECT::SPECIFIC
@@ -1,11 +0,0 @@
1
- #
2
- # HACK: monkey-patching oauth2 lib
3
- #
4
- module OAuth2
5
- class AccessToken
6
- def request(verb, path, params = {}, headers = {})
7
- params = params.merge('oauth_token' => @token) unless @token.nil?
8
- @client.request(verb, path, params)
9
- end
10
- end
11
- end