dailymile-ruby 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.2
1
+ 0.1.3
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{dailymile-ruby}
8
- s.version = "0.1.2"
8
+ s.version = "0.1.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["lostinpatterns"]
@@ -10,9 +10,7 @@ module Dailymile
10
10
  def_instance_delegators :@connection, :get, :post, :put, :delete
11
11
 
12
12
  def initialize(token = nil)
13
- raise "Please call set_client_credentials first" if @@oauth_client.nil?
14
-
15
- @connection = Connection::Token.new(@@oauth_client, token)
13
+ @connection = Connection::Token.new(self.class.oauth_client, token)
16
14
  end
17
15
 
18
16
  def self.get(*args); connection.get(*args) end
@@ -25,6 +23,12 @@ module Dailymile
25
23
  )
26
24
  end
27
25
 
26
+ def self.oauth_client
27
+ raise "Please call set_client_credentials first" if @@oauth_client.nil?
28
+
29
+ @@oauth_client
30
+ end
31
+
28
32
  # EXAMPLES:
29
33
  # everyone stream: client.entries
30
34
  # nearby stream: client.entries :nearby, 37.77916, -122.420049, :page => 2
@@ -57,7 +57,7 @@ module Dailymile
57
57
  def handle_response(response)
58
58
  case response.status
59
59
  when 200, 201
60
- JSON.parse(response.body) rescue nil
60
+ JSON.parse(response) rescue nil
61
61
  when 404
62
62
  raise NotFound
63
63
  when 401
@@ -65,16 +65,18 @@ module Dailymile
65
65
  when 403
66
66
  raise Forbidden, "Not using HTTP over TLS"
67
67
  when 503, 502
68
- if response.status == 503 && response['Retry-After']
69
- raise RateLimitExceeded
68
+ retry_after = response.headers['Retry-After'] || response.headers['retry-after']
69
+
70
+ if response.status == 503 && retry_after
71
+ raise RateLimitExceeded, "Retry-After: #{retry_after}"
70
72
  else
71
- raise Unavailable, "#{response.status}: #{response.body}"
73
+ raise Unavailable, "#{response.status}: #{response}"
72
74
  end
73
75
  when 422
74
- errors = JSON.parse(response.body) rescue nil
76
+ errors = JSON.parse(response) rescue nil
75
77
  raise UnprocessableEntity, errors
76
78
  else
77
- raise DailymileError,"#{response.status}: #{response.body}"
79
+ raise DailymileError,"#{response.status}: #{response}"
78
80
  end
79
81
  end
80
82
 
@@ -8,15 +8,4 @@ module OAuth2
8
8
  @client.request(verb, path, params)
9
9
  end
10
10
  end
11
- class Client
12
- def request(verb, url, params = {}, headers = {})
13
- if verb == :get
14
- connection.run_request(verb, url, nil, headers) do |req|
15
- req.params.update(params)
16
- end
17
- else
18
- connection.run_request(verb, url, params, headers)
19
- end
20
- end
21
- end
22
11
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dailymile-ruby
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 2
10
- version: 0.1.2
9
+ - 3
10
+ version: 0.1.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - lostinpatterns