promoted-ruby-client 0.1.23 → 0.1.24

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