promoted-ruby-client 0.1.9 → 0.1.13

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
  SHA256:
3
- metadata.gz: efa5db6f158b8ab87cb8d17020d34e2d797025ea6b2b08ee032eb4be0f9ac715
4
- data.tar.gz: 957e394b3e61cdfc55b68650392a158a492b0d5904df1bd88e17c9378078161b
3
+ metadata.gz: f57c1ad958cfd9bca73352dbc23f3436d006a37dc9dc23c0ae2fe8d77a834bb8
4
+ data.tar.gz: a29f8acf50ff316cc52f1091efb8b43a9a4ee72bcb12862d952cf3e186c5811c
5
5
  SHA512:
6
- metadata.gz: a30a50a35881680fda99cb355d7469e1e805f5199db86f32713e3f803c68113e8932ae2458f3359c78f323e6c0914a974cf1579967a8a8760b7d48b0064dade9
7
- data.tar.gz: fa2dde1f6bc78733f3db6fb8a37e19b8b9a00d3531d1508fc3fce3045f87360f5047086f6446906f8b9aa56dc09b2d217d076ea1c242210d098745aa2eb400da
6
+ metadata.gz: 4b0dda2faab0218af8c0d89f199b5a07626a237d840a18f2ff8cef088f64d2fdba4404a43cbf4679a302ae45a2613747ae1b7e13b852213d88a0bc6c4d96964c
7
+ data.tar.gz: 9485c248cfff1496c5294f7ce3164857b9f35ddbff23e4d3df3fd50e513803b22058defe896b59a9c8a7aaad7824b602336a119523dcce29c322644331263838
data/.gitignore CHANGED
@@ -57,4 +57,7 @@ build-iPhoneSimulator/
57
57
  # .rubocop-https?--*
58
58
 
59
59
  # IDE
60
- .vscode/
60
+ .vscode/
61
+
62
+ # Dev
63
+ dev/
data/Gemfile CHANGED
@@ -5,11 +5,6 @@ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
5
5
  # Specify your gem's dependencies in promoted-ruby-client.gemspec
6
6
  gemspec
7
7
 
8
- gem 'faraday', '~> 1.4.1'
9
- gem 'faraday_middleware'
10
- gem 'faraday-net_http'
11
- gem 'concurrent-ruby', require: 'concurrent'
12
-
13
8
  group :development do
14
9
  gem 'ruby-debug-ide', group: :development
15
10
  gem 'debase', '>= 0.2.5.beta2', group: :development
data/Gemfile.lock CHANGED
@@ -1,7 +1,12 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- promoted-ruby-client (0.1.9)
4
+ promoted-ruby-client (0.1.13)
5
+ concurrent-ruby (~> 1)
6
+ faraday (~> 1.4, >= 1.4.3)
7
+ faraday-net_http (~> 1.0)
8
+ faraday_middleware (~> 1.0, >= 1.0.0)
9
+ net-http-persistent (~> 4.0)
5
10
 
6
11
  GEM
7
12
  remote: https://rubygems.org/
@@ -10,6 +15,7 @@ GEM
10
15
  backport (1.2.0)
11
16
  benchmark (0.1.1)
12
17
  concurrent-ruby (1.1.9)
18
+ connection_pool (2.2.5)
13
19
  debase (0.2.5.beta2)
14
20
  debase-ruby_core_source (>= 0.10.12)
15
21
  debase-ruby_core_source (0.10.12)
@@ -28,7 +34,7 @@ GEM
28
34
  faraday-em_synchrony (1.0.0)
29
35
  faraday-excon (1.1.0)
30
36
  faraday-net_http (1.0.1)
31
- faraday-net_http_persistent (1.1.0)
37
+ faraday-net_http_persistent (1.2.0)
32
38
  faraday_middleware (1.0.0)
33
39
  faraday (~> 1.0)
34
40
  jaro_winkler (1.5.4)
@@ -38,11 +44,17 @@ GEM
38
44
  kramdown (~> 2.0)
39
45
  mini_portile2 (2.5.3)
40
46
  multipart-post (2.1.1)
47
+ net-http-persistent (4.0.1)
48
+ connection_pool (~> 2.2)
41
49
  nokogiri (1.11.7)
42
50
  mini_portile2 (~> 2.5.0)
43
51
  racc (~> 1.4)
52
+ nokogiri (1.11.7-x86_64-darwin)
53
+ racc (~> 1.4)
54
+ nokogiri (1.11.7-x86_64-linux)
55
+ racc (~> 1.4)
44
56
  parallel (1.20.1)
45
- parser (3.0.1.1)
57
+ parser (3.0.2.0)
46
58
  ast (~> 2.4.1)
47
59
  racc (1.5.2)
48
60
  rainbow (3.0.0)
@@ -64,28 +76,28 @@ GEM
64
76
  diff-lcs (>= 1.2.0, < 2.0)
65
77
  rspec-support (~> 3.10.0)
66
78
  rspec-support (3.10.2)
67
- rubocop (1.17.0)
79
+ rubocop (1.18.4)
68
80
  parallel (~> 1.10)
69
81
  parser (>= 3.0.0.0)
70
82
  rainbow (>= 2.2.2, < 4.0)
71
83
  regexp_parser (>= 1.8, < 3.0)
72
84
  rexml
73
- rubocop-ast (>= 1.7.0, < 2.0)
85
+ rubocop-ast (>= 1.8.0, < 2.0)
74
86
  ruby-progressbar (~> 1.7)
75
87
  unicode-display_width (>= 1.4.0, < 3.0)
76
- rubocop-ast (1.7.0)
88
+ rubocop-ast (1.8.0)
77
89
  parser (>= 3.0.1.1)
78
90
  ruby-debug-ide (0.7.2)
79
91
  rake (>= 0.8.1)
80
92
  ruby-progressbar (1.11.0)
81
- ruby2_keywords (0.0.4)
93
+ ruby2_keywords (0.0.5)
82
94
  simplecov (0.21.2)
83
95
  docile (~> 1.1)
84
96
  simplecov-html (~> 0.11)
85
97
  simplecov_json_formatter (~> 0.1)
86
98
  simplecov-html (0.12.3)
87
99
  simplecov_json_formatter (0.1.3)
88
- solargraph (0.42.3)
100
+ solargraph (0.42.4)
89
101
  backport (~> 1.2)
90
102
  benchmark
91
103
  bundler (>= 1.17.2)
@@ -107,14 +119,12 @@ GEM
107
119
 
108
120
  PLATFORMS
109
121
  ruby
122
+ x86_64-darwin-20
123
+ x86_64-linux
110
124
 
111
125
  DEPENDENCIES
112
- bundler (~> 1.17)
113
- concurrent-ruby
126
+ bundler (~> 2.2, >= 2.2.24)
114
127
  debase (>= 0.2.5.beta2)
115
- faraday (~> 1.4.1)
116
- faraday-net_http
117
- faraday_middleware
118
128
  jaro_winkler
119
129
  promoted-ruby-client!
120
130
  rake (~> 10.0)
@@ -124,4 +134,4 @@ DEPENDENCIES
124
134
  solargraph
125
135
 
126
136
  BUNDLED WITH
127
- 1.17.3
137
+ 2.2.24
data/dev.md CHANGED
@@ -4,5 +4,5 @@
4
4
  2. Get credentials for deployment from 1password.
5
5
  3. Modify `promoted-ruby-client.gemspec`'s push block.
6
6
  4. Run `gem build promoted-ruby-client.gemspec` to generate `gem`.
7
- 5. Run (using new output) `gem push promoted-ruby-client-0.1.9.gem`
7
+ 5. Run (using new output) `gem push promoted-ruby-client-0.1.13.gem`
8
8
  6. Update README with new version.
@@ -262,23 +262,29 @@ module Promoted
262
262
 
263
263
  if send_async && @pool
264
264
  @pool.post do
265
- start_time = Time.now.to_i
265
+ start_time = Time.now
266
266
  begin
267
267
  resp = @http_client.send(endpoint, timeout_millis, payload, use_headers)
268
268
  rescue Faraday::Error => err
269
- @logger.warn("Deliver call failed with #{err}") if @logger
269
+ @logger.warn("Async send_request failed with #{err}") if @logger
270
270
  return
271
271
  end
272
- ellapsed_time = Time.now.to_i - start_time
273
- @logger.info("Deliver call completed in #{ellapsed_time} ms") if @logger
272
+
273
+ ellapsed_time = Time.now - start_time
274
+ @logger.debug("Async send_request completed in #{ellapsed_time.to_f * 1000} ms") if @logger
274
275
  end
275
276
  else
277
+ start_time = Time.now
276
278
  begin
277
279
  resp = @http_client.send(endpoint, timeout_millis, payload, use_headers)
278
280
  rescue Faraday::Error => err
281
+ @logger.warn("Sync send_request failed with #{err}") if @logger
279
282
  raise EndpointError.new(err)
280
283
  end
281
- end
284
+
285
+ ellapsed_time = Time.now - start_time
286
+ @logger.debug("Sync send_request completed in #{ellapsed_time.to_f * 1000} ms") if @logger
287
+ end
282
288
 
283
289
  return resp
284
290
  end
@@ -298,10 +304,17 @@ module Promoted
298
304
  delivery_request_params[:client_info][:traffic_type] = Promoted::Ruby::Client::TRAFFIC_TYPE['SHADOW']
299
305
 
300
306
  # Call Delivery API and log/ignore errors.
307
+ start_time = Time.now
301
308
  begin
302
- send_request(delivery_request_params, @delivery_endpoint, @delivery_timeout_millis, @delivery_api_key, headers, true)
309
+ send_request(delivery_request_params, @delivery_endpoint, @delivery_timeout_millis, @delivery_api_key, headers, @async_shadow_traffic)
303
310
  rescue StandardError => err
304
311
  @logger.warn("Shadow traffic call failed with #{err}") if @logger
312
+ return
313
+ end
314
+
315
+ if !@async_shadow_traffic
316
+ ellapsed_time = Time.now - start_time
317
+ @logger.info("Shadow traffic call completed in #{ellapsed_time.to_f * 1000} ms") if @logger
305
318
  end
306
319
  end
307
320
 
@@ -11,7 +11,7 @@ module Promoted
11
11
  f.request :json
12
12
  f.request :retry, max: 3
13
13
  f.use Faraday::Response::RaiseError # raises on 4xx and 5xx responses
14
- f.adapter :net_http
14
+ f.adapter :net_http_persistent
15
15
  end
16
16
  end
17
17
 
@@ -1,7 +1,7 @@
1
1
  module Promoted
2
2
  module Ruby
3
3
  module Client
4
- VERSION = "0.1.9"
4
+ VERSION = "0.1.13"
5
5
  end
6
6
  end
7
7
  end
@@ -28,7 +28,13 @@ Gem::Specification.new do |spec|
28
28
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
29
29
  spec.require_paths = ["lib"]
30
30
 
31
- spec.add_development_dependency "bundler", "~> 1.17"
31
+ spec.add_runtime_dependency 'faraday', '~> 1.4', '>= 1.4.3'
32
+ spec.add_runtime_dependency 'faraday_middleware', '~> 1.0', '>= 1.0.0'
33
+ spec.add_runtime_dependency 'faraday-net_http', '~> 1.0'
34
+ spec.add_runtime_dependency 'net-http-persistent', '~> 4.0'
35
+ spec.add_runtime_dependency 'concurrent-ruby', '~> 1'
36
+
37
+ spec.add_development_dependency "bundler", '~> 2.2', '>= 2.2.24'
32
38
  spec.add_development_dependency "rake", "~> 10.0"
33
39
  spec.add_development_dependency "rspec", "~> 3.0"
34
40
  end
metadata CHANGED
@@ -1,29 +1,117 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: promoted-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - scottmcmaster
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-07-23 00:00:00.000000000 Z
11
+ date: 2021-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: faraday
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.4'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.4.3
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '1.4'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.4.3
33
+ - !ruby/object:Gem::Dependency
34
+ name: faraday_middleware
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 1.0.0
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '1.0'
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: 1.0.0
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '1.0'
53
+ - !ruby/object:Gem::Dependency
54
+ name: faraday-net_http
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '1.0'
60
+ type: :runtime
61
+ prerelease: false
62
+ version_requirements: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: '1.0'
67
+ - !ruby/object:Gem::Dependency
68
+ name: net-http-persistent
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '4.0'
74
+ type: :runtime
75
+ prerelease: false
76
+ version_requirements: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - "~>"
79
+ - !ruby/object:Gem::Version
80
+ version: '4.0'
81
+ - !ruby/object:Gem::Dependency
82
+ name: concurrent-ruby
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '1'
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - "~>"
93
+ - !ruby/object:Gem::Version
94
+ version: '1'
13
95
  - !ruby/object:Gem::Dependency
14
96
  name: bundler
15
97
  requirement: !ruby/object:Gem::Requirement
16
98
  requirements:
17
99
  - - "~>"
18
100
  - !ruby/object:Gem::Version
19
- version: '1.17'
101
+ version: '2.2'
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: 2.2.24
20
105
  type: :development
21
106
  prerelease: false
22
107
  version_requirements: !ruby/object:Gem::Requirement
23
108
  requirements:
24
109
  - - "~>"
25
110
  - !ruby/object:Gem::Version
26
- version: '1.17'
111
+ version: '2.2'
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: 2.2.24
27
115
  - !ruby/object:Gem::Dependency
28
116
  name: rake
29
117
  requirement: !ruby/object:Gem::Requirement