my_target_api 2.0.6 → 2.0.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9d534ef71d8b0aa864eb79ac1fec77fdd085dad3
4
- data.tar.gz: 6b499fa889d1a6641cf2b95b9f8f421e8ac60d0c
3
+ metadata.gz: f8a2de4571899340aa8c1e6e6c099c0a6b75e7e6
4
+ data.tar.gz: f1453fac44237e86a82ff18f54d9bc1a1ca4f706
5
5
  SHA512:
6
- metadata.gz: 4a9fa61da044dec259415c7e8582c5ec35eb8d09fceb99a7f30ddaee5fc0fbfc84fd84351517f2dc54710c113a55bc81b70500f5023587178fe2ce4065e4321e
7
- data.tar.gz: 111b8db8d84a8a55ca127f9b6881809f884f646ca49d9080db0880dccefaedf434df2b3c16405557f4086de5124b7b84c4845e7295a1fb15dcfe4cb839fc384f
6
+ metadata.gz: 43618ed32e7313aa0c300391d619e448ed56102429766559f91ed0a4056587b35147fc773d4a293854a521c9f61d2fd9a0b9fbef7f41affff3b3e8b0075aa398
7
+ data.tar.gz: 9be00939ad2371270df68d053ac5d586a2dab12a09f4e1043e6c24377a4c1562bed461e1daabdfa4b4f3802e12a12f0fa0a4bc9439ff002d19c391585844bb56
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- my_target_api (2.0.6)
4
+ my_target_api (2.0.7)
5
5
  json (~> 2.0, >= 2.0.0)
6
6
  rest-client (~> 2.0, >= 2.0.0)
7
7
 
data/README.md CHANGED
@@ -99,7 +99,7 @@ def read_active_campaigns
99
99
 
100
100
  rescue MyTargetApi::RequestError => e
101
101
 
102
- puts e.message, e.params, e.response, e.backtrace
102
+ puts e.message, e.method, e.url, e.params, e.response, e.backtrace
103
103
  # You can access the original exception
104
104
  puts e.original_exception&.message, e.original_exception&.backtrace
105
105
 
@@ -14,7 +14,7 @@ class MyTargetApi
14
14
  end
15
15
 
16
16
  def get(url, params = {}, headers = {})
17
- response = with_exception_handling(params) do
17
+ response = with_exception_handling('GET', url, params) do
18
18
  NetClient.get(url, headers.merge(query(params)))
19
19
  end
20
20
 
@@ -22,7 +22,7 @@ class MyTargetApi
22
22
  end
23
23
 
24
24
  def post(url, params = {}, headers = {})
25
- response = with_exception_handling(params) do
25
+ response = with_exception_handling('POST', url, params) do
26
26
  NetClient.post(url, params, headers)
27
27
  end
28
28
 
@@ -30,7 +30,7 @@ class MyTargetApi
30
30
  end
31
31
 
32
32
  def delete(url, params = {}, headers = {})
33
- response = with_exception_handling(params) do
33
+ response = with_exception_handling('DELETE', url, params) do
34
34
  NetClient.delete(url, headers.merge(query(params)))
35
35
  end
36
36
 
@@ -38,7 +38,7 @@ class MyTargetApi
38
38
  end
39
39
 
40
40
  def upload(url, content, params = {}, headers = {})
41
- response = with_exception_handling(params) do
41
+ response = with_exception_handling('POST', 'url', params) do
42
42
  NetClient.post(
43
43
  url,
44
44
  content,
@@ -65,24 +65,27 @@ class MyTargetApi
65
65
  response.body
66
66
  end
67
67
 
68
- def with_exception_handling(params)
68
+ def with_exception_handling(method, url, params)
69
69
  response = yield
70
70
  log_response(response)
71
- raise_with_params(params: params, response: response) if response.code >= 400
71
+ if response.code >= 400
72
+ raise_with_params(method: method, url: url, params: params, response: response)
73
+ end
72
74
  response
73
75
  rescue NetClient::Exception => e
74
76
  original_exception = e.original_exception
75
77
  logger << "#{original_exception.class.name} #{original_exception.message}"
76
- raise_with_params(params: params, original_exception: original_exception)
78
+ raise_with_params(method: method, url: url, params: params,
79
+ original_exception: original_exception)
77
80
  end
78
81
 
79
82
  def log_response(response)
80
83
  logger << ResponseFormatter.new(response).format
81
84
  end
82
85
 
83
- def raise_with_params(params:, response: nil, original_exception: nil)
84
- result = MyTargetApi::RequestError.new(params: params,
85
- response: response,
86
+ def raise_with_params(method:, url:, params:, response: nil, original_exception: nil)
87
+ result = MyTargetApi::RequestError.new(method: method, url: url,
88
+ params: params, response: response,
86
89
  original_exception: original_exception)
87
90
  result.set_backtrace(caller)
88
91
  raise result
@@ -4,18 +4,16 @@ class MyTargetApi
4
4
  # Error for request
5
5
  class RequestError < StandardError
6
6
 
7
- attr_reader :params, :original_exception, :response
7
+ attr_reader :method, :url, :params, :original_exception, :response
8
8
 
9
- def initialize(params:, original_exception: nil, response: nil)
9
+ def initialize(method:, url:, params:, original_exception: nil, response: nil)
10
+ @method = method
11
+ @url = url
10
12
  @params = params
11
13
  @response = response
12
14
  @original_exception = original_exception
13
15
 
14
- message =
15
- "#{(response ? "#{response.code}: #{response.body}. " : '')}"\
16
- 'Inspect #params, #response and #original_exception for more details'
17
-
18
- super(message)
16
+ super(response ? "#{response.code}: #{response.body}" : 'No response')
19
17
  end
20
18
 
21
19
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  class MyTargetApi
4
4
 
5
- VERSION = '2.0.6'
5
+ VERSION = '2.0.7'
6
6
 
7
7
  end
@@ -84,9 +84,7 @@ describe MyTargetApi::Request do
84
84
  .to_return(body: 'Unknown resource', status: 404)
85
85
 
86
86
  expect { subject.get('https://target.my.com/api/v1/wrong_path.json') }
87
- .to raise_error(MyTargetApi::RequestError,
88
- '404: Unknown resource. Inspect #params, #response and #original_exception'\
89
- ' for more details')
87
+ .to raise_error(MyTargetApi::RequestError, '404: Unknown resource')
90
88
  end
91
89
 
92
90
  it 'sets authorization header' do
@@ -163,9 +161,7 @@ describe MyTargetApi::Request do
163
161
  )
164
162
 
165
163
  expect { request.get('https://target.my.com/api/v1/request.json') }
166
- .to raise_error(MyTargetApi::RequestError,
167
- '404: Unknown resource. Inspect #params, #response and #original_exception'\
168
- ' for more details')
164
+ .to raise_error(MyTargetApi::RequestError, '404: Unknown resource')
169
165
 
170
166
  expect(logger).to(have_received(:<<).with(<<~LOG))
171
167
  GET https://target.my.com/api/v1/request.json
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: my_target_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.6
4
+ version: 2.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - OneRetarget.com
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-14 00:00:00.000000000 Z
11
+ date: 2020-10-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json