promoted-ruby-client 0.1.9 → 0.1.13

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
  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