my_target_api 1.1.0 → 1.1.1

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: 35b5e8e2f9e33078a2823459568b54d17097d849
4
- data.tar.gz: 4569d9039f9193f3bf00a8d6a29e86bca3202238
3
+ metadata.gz: 45922e11a54d1aa6abf0572f7c1384d4929fe6e7
4
+ data.tar.gz: c1e7eebe80e5d3a2ab853bf9dd2a590cdf0d3a42
5
5
  SHA512:
6
- metadata.gz: d9e6bc0d5e187b837fdcbf9d41297bb94eef2bbd63cdc6c0cf3def44049e1923fb16142ad30742ac62e3e5f4198061de9dcae1741eb6bbfe64d413ee16b620aa
7
- data.tar.gz: 0ae105819862e9b089fd8dfa04e164262fc565e0a6ad4c4d633e9963798a52b24ca79338760e39f162a17296f1224d50c8ad0bcc318118fab2355f7e48cdcb83
6
+ metadata.gz: 6825b4699c3a1dbf6d904cdd614fac88aa7ea475bda184d325c3a086bf9bd4e92395a4c20b47472dc0df676a9de7e337d09eca15dc8ccec25558ed6bb94fd79e
7
+ data.tar.gz: 7c59ffd02cb4cc2317a714bbb6e9b445f2d7e66ae6077482e4cc41b3c17fe2f930338ebc46b69ddcd64ba5b7c5fa1d7a06ec3009a1658e78e14b94531e3780ba
data/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
  Add this line to your application's Gemfile:
8
8
 
9
9
  ```
10
- gem 'my_target_api', '~> 1.1.0'
10
+ gem 'my_target_api', '~> 1.1.1'
11
11
  ```
12
12
 
13
13
  Or install from command line:
@@ -8,10 +8,12 @@ class MyTargetApi
8
8
  class Request
9
9
 
10
10
  def initialize(options = {})
11
- @logger = options[:logger]
11
+ @options = options
12
12
  end
13
13
 
14
14
  def get(url, params = {})
15
+ log_hash(method: 'Request#get', url: url, params: params)
16
+
15
17
  response = with_exception_handling do
16
18
  RestClient.get(url, headers(params).merge(query(params)))
17
19
  end
@@ -20,6 +22,8 @@ class MyTargetApi
20
22
  end
21
23
 
22
24
  def post(url, params = {})
25
+ log_hash(method: 'Request#post', url: url, params: params)
26
+
23
27
  response = with_exception_handling do
24
28
  RestClient.post(url, body_parameters(params), headers(params))
25
29
  end
@@ -28,6 +32,8 @@ class MyTargetApi
28
32
  end
29
33
 
30
34
  def delete(url, params = {})
35
+ log_hash(method: 'Request#delete', url: url, params: params)
36
+
31
37
  response = with_exception_handling do
32
38
  RestClient.delete(url, headers(params).merge(query(params)))
33
39
  end
@@ -36,6 +42,8 @@ class MyTargetApi
36
42
  end
37
43
 
38
44
  def upload(url, content, params = {})
45
+ log_hash(method: 'Request#upload', url: url, params: params, content: 'no logging')
46
+
39
47
  response = with_exception_handling do
40
48
  RestClient.post(url, content, headers(params).merge(query(params)))
41
49
  end
@@ -45,7 +53,7 @@ class MyTargetApi
45
53
 
46
54
  private
47
55
 
48
- attr_reader :logger
56
+ attr_reader :options
49
57
 
50
58
  def body_parameters(params)
51
59
  result_params = params.dup
@@ -112,5 +120,17 @@ class MyTargetApi
112
120
  logger << log_message if logger
113
121
  end
114
122
 
123
+ def log_hash(hash)
124
+ return unless logger
125
+
126
+ logger << hash.map do |key, value|
127
+ "#{key}: #{value.is_a?(String) ? value : value.inspect}"
128
+ end.join("\n")
129
+ end
130
+
131
+ def logger
132
+ options[:logger]
133
+ end
134
+
115
135
  end
116
136
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  class MyTargetApi
4
4
 
5
- VERSION = '1.1.0'
5
+ VERSION = '1.1.1'
6
6
 
7
7
  end
@@ -11,6 +11,7 @@ describe MyTargetApi::Request do
11
11
  it { expect(request).to respond_to(:get) }
12
12
  it { expect(request).to respond_to(:post) }
13
13
  it { expect(request).to respond_to(:delete) }
14
+ it { expect(request).to respond_to(:upload) }
14
15
  end
15
16
 
16
17
  describe 'request something' do
@@ -60,4 +61,17 @@ describe MyTargetApi::Request do
60
61
  .to raise_error(MyTargetApi::RequestError, 'Unknown resource')
61
62
  end
62
63
  end
64
+
65
+ describe 'logs' do
66
+ let(:logger) { double('Logger double', '<<': nil) }
67
+ let(:request) { MyTargetApi::Request.new(logger: logger) }
68
+
69
+ it 'pass parameters by url in get' do
70
+ stub_request(:get, 'https://target.my.com/api/v1/request.json')
71
+ .to_return(body: '[]')
72
+
73
+ expect(logger).to(receive(:<<))
74
+ request.get('https://target.my.com/api/v1/request.json')
75
+ end
76
+ end
63
77
  end
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: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - OneRetarget.com
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-08 00:00:00.000000000 Z
11
+ date: 2018-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json