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 +1 -1
- data/dailymile-ruby.gemspec +1 -1
- data/lib/dailymile/client.rb +7 -3
- data/lib/dailymile/connection.rb +8 -6
- data/lib/oauth2_monkey_patches.rb +0 -11
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.3
|
data/dailymile-ruby.gemspec
CHANGED
data/lib/dailymile/client.rb
CHANGED
@@ -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
|
-
|
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
|
data/lib/dailymile/connection.rb
CHANGED
@@ -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
|
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
|
-
|
69
|
-
|
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
|
73
|
+
raise Unavailable, "#{response.status}: #{response}"
|
72
74
|
end
|
73
75
|
when 422
|
74
|
-
errors = JSON.parse(response
|
76
|
+
errors = JSON.parse(response) rescue nil
|
75
77
|
raise UnprocessableEntity, errors
|
76
78
|
else
|
77
|
-
raise DailymileError,"#{response.status}: #{response
|
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:
|
4
|
+
hash: 29
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 3
|
10
|
+
version: 0.1.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- lostinpatterns
|