my_target_api 1.1.0 → 1.1.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 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