invoiced 0.11.0 → 0.11.1
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.
- checksums.yaml +4 -4
- data/lib/invoiced/version.rb +1 -1
- data/lib/invoiced.rb +7 -0
- data/test/invoiced/invoiced_test.rb +17 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 36f61c90e6aa69cab6b6c3faac283371daed62a7
|
4
|
+
data.tar.gz: b2e633df7680339360d2f487232930434d4e250f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4eaf1bb83c817d5fac2c1db2dfee37449af20cbafe0f0e9ecf33f1a43e90ab18d824d7aa3d2272f104f1933e8e5f817d6e0d07b57196d0734f23cdf97dd15d79
|
7
|
+
data.tar.gz: c6b7def7ec8abbcededfe0a4fb26b7dd2978f522ad3eb1c5418ac788f60a8d755e38898a61289a7d3d958e600b6c6e065149ef6622c8bf4027f5d228d49527cc
|
data/lib/invoiced/version.rb
CHANGED
data/lib/invoiced.rb
CHANGED
@@ -10,6 +10,7 @@ require 'invoiced/error/api_connection_error'
|
|
10
10
|
require 'invoiced/error/api_error'
|
11
11
|
require 'invoiced/error/authentication_error'
|
12
12
|
require 'invoiced/error/invalid_request'
|
13
|
+
require 'invoiced/error/rate_limit_error'
|
13
14
|
require 'invoiced/list'
|
14
15
|
require 'invoiced/operations/list'
|
15
16
|
require 'invoiced/operations/create'
|
@@ -128,6 +129,8 @@ module Invoiced
|
|
128
129
|
raise invalid_request_error(error, response)
|
129
130
|
when 401
|
130
131
|
raise authentication_error(error, response)
|
132
|
+
when 429
|
133
|
+
raise rate_limit_error(error, response)
|
131
134
|
else
|
132
135
|
raise api_error(error, response)
|
133
136
|
end
|
@@ -158,6 +161,10 @@ module Invoiced
|
|
158
161
|
InvalidRequestError.new(error["message"], response.code, error)
|
159
162
|
end
|
160
163
|
|
164
|
+
def rate_limit_error(error, response)
|
165
|
+
RateLimitError.new(error["message"], response.code, error)
|
166
|
+
end
|
167
|
+
|
161
168
|
def api_error(error, response)
|
162
169
|
ApiError.new(error["message"], response.code, error)
|
163
170
|
end
|
@@ -177,6 +177,23 @@ module Invoiced
|
|
177
177
|
end
|
178
178
|
end
|
179
179
|
|
180
|
+
should "handle a rate limit error" do
|
181
|
+
mockResponse = mock('RestClient::Response')
|
182
|
+
mockResponse.stubs(:code).returns(429)
|
183
|
+
mockResponse.stubs(:body).returns('{"error":true}')
|
184
|
+
|
185
|
+
ex = RestClient::ExceptionWithResponse.new
|
186
|
+
ex.response = mockResponse
|
187
|
+
|
188
|
+
RestClient::Request.any_instance.expects(:execute).raises(ex)
|
189
|
+
|
190
|
+
client = Invoiced::Client.new('test')
|
191
|
+
|
192
|
+
assert_raise Invoiced::RateLimitError do
|
193
|
+
client.request("POST", "/invoices")
|
194
|
+
end
|
195
|
+
end
|
196
|
+
|
180
197
|
should "handle an api error" do
|
181
198
|
mockResponse = mock('RestClient::Response')
|
182
199
|
mockResponse.stubs(:code).returns(500)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: invoiced
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jared King
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-07-
|
11
|
+
date: 2017-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|