dailymile-ruby 0.1.2 → 0.1.3

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/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