promoted-ruby-client 0.1.23 → 0.1.24

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: 280c1b17bece86732743246173338746e1ab9d414b9515bc9fc77c8c598ae319
4
- data.tar.gz: 1fed11fd16de69732e6f61d1d1e33b31c812151413a34d881b8dd7aace712daa
3
+ metadata.gz: 99f637dce3d3f85f13e8937bf586e6e9f5a11891b262e84a6e66d57a44bc6b09
4
+ data.tar.gz: 0c517b9e7b0049c6ae873c90db9536eae6b153367114cc50af887f36efcf79f2
5
5
  SHA512:
6
- metadata.gz: 997ca8c047a62a08b2f5e008184719c3e3f1f1dac45cfbccf41c4f451b8fad3f9a8aab7737e148a6281b4a9600e8c2ff6b8bfe9a269aba417ab7bf21f735fcd3
7
- data.tar.gz: 274d3ce469128a6fa7da5fc127b65e9a3e1cc2327b322af5719182f06a37ada713806458c754d2efed6d6a21ad7ab945890541d5e3d1247844b66fa6b3a77a16
6
+ metadata.gz: 640878d97d82424619a60ebf451db0f1501d15e625adfc2c53f3a47511e2661cb4d61bc8788d5b42f93c11f778411bc3bad59d5bab3fd787270a9b015f9968c3
7
+ data.tar.gz: e4a99864846f7d542e773d84897f9ce3ff9db842115d0ebd835f604a7763bebfa7c875656377e22f57442637f71a7d0663b098379e2603c5b6852f9696e626ce
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- promoted-ruby-client (0.1.23)
4
+ promoted-ruby-client (0.1.24)
5
5
  concurrent-ruby (~> 1)
6
6
  faraday (>= 0.9.0)
7
7
  faraday_middleware (>= 0.9.0)
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.23.gem`
7
+ 5. Run (using new output) `gem push promoted-ruby-client-0.1.24.gem`
8
8
  6. Update README with new version.
@@ -100,17 +100,12 @@ module Promoted
100
100
  filled_in_copy
101
101
  end
102
102
 
103
- def log_request_params(include_insertions: true, include_request: true)
103
+ def log_request_params(include_delivery_log:, exec_server:)
104
104
  params = {
105
105
  user_info: user_info,
106
106
  timing: timing,
107
107
  client_info: merge_client_info_defaults,
108
108
  device: @device,
109
- delivery_log: [{
110
- execution: {
111
- execution_server: Promoted::Ruby::Client::EXECUTION_SERVER['SDK']
112
- }
113
- }]
114
109
  }
115
110
 
116
111
  if @experiment
@@ -118,17 +113,19 @@ module Promoted
118
113
  end
119
114
 
120
115
  # Log request allows for multiple requests but here we only send one.
121
- if include_request
116
+ if include_delivery_log
122
117
  request[:request_id] = request[:request_id] || @id_generator.newID
123
- # Set request on delivery log.
124
- params[:delivery_log][0][:request] = request
125
- end
126
118
 
127
- if include_insertions
128
- # Add a response containing compacted insertions to delivery log.
129
- params[:delivery_log][0][:response] = {
130
- insertion: compact_metrics_properties
131
- }
119
+ params[:delivery_log] = [{
120
+ execution: {
121
+ execution_server: exec_server
122
+ },
123
+ request: request,
124
+ response: {
125
+ insertion: insertions_with_compact_metrics_properties
126
+ }
127
+ }]
128
+
132
129
  add_missing_ids_on_insertions! request, params[:delivery_log][0][:response][:insertion]
133
130
  end
134
131
 
@@ -170,7 +167,7 @@ module Promoted
170
167
  end
171
168
 
172
169
  # TODO: This looks overly complicated.
173
- def compact_metrics_properties
170
+ def insertions_with_compact_metrics_properties
174
171
  @insertion = [] # insertion should be set according to the compact insertion
175
172
  paging = request[:paging] || {}
176
173
  size = paging[:size] ? paging[:size].to_i : 0
@@ -1,7 +1,7 @@
1
1
  module Promoted
2
2
  module Ruby
3
3
  module Client
4
- VERSION = "0.1.23"
4
+ VERSION = "0.1.24"
5
5
  end
6
6
  end
7
7
  end
@@ -194,6 +194,8 @@ module Promoted
194
194
  end
195
195
 
196
196
  log_req = nil
197
+ exec_server = (insertions_from_delivery ? Promoted::Ruby::Client::EXECUTION_SERVER['API'] : Promoted::Ruby::Client::EXECUTION_SERVER['SDK'])
198
+
197
199
  # We only return a log request if there's a request or cohort to log.
198
200
  if request_to_log || cohort_membership_to_log
199
201
  log_request_builder = RequestBuilder.new
@@ -212,14 +214,14 @@ module Promoted
212
214
  # On a successful delivery request, we don't log the insertions
213
215
  # or the request since they are logged on the server-side.
214
216
  log_req = log_request_builder.log_request_params(
215
- include_insertions: !insertions_from_delivery,
216
- include_request: !insertions_from_delivery)
217
+ include_delivery_log: !insertions_from_delivery,
218
+ exec_server: exec_server)
217
219
  end
218
220
 
219
221
  client_response = {
220
222
  insertion: response_insertions,
221
223
  log_request: log_req,
222
- execution_server: insertions_from_delivery ? Promoted::Ruby::Client::EXECUTION_SERVER['API'] : Promoted::Ruby::Client::EXECUTION_SERVER['SDK'],
224
+ execution_server: exec_server,
223
225
  client_request_id: delivery_request_builder.client_request_id
224
226
  }
225
227
  return client_response
@@ -258,7 +260,9 @@ module Promoted
258
260
  deliver_shadow_traffic args, headers
259
261
  end
260
262
 
261
- log_request_builder.log_request_params
263
+ log_request_builder.log_request_params(
264
+ include_delivery_log: true,
265
+ exec_server: Promoted::Ruby::Client::EXECUTION_SERVER['SDK'])
262
266
  end
263
267
 
264
268
  ##
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: promoted-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.23
4
+ version: 0.1.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - scottmcmaster
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-15 00:00:00.000000000 Z
11
+ date: 2021-10-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday