promoted-ruby-client 4.0.1 → 5.0.0

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: d2581fc859bd3a30b8460858e6ab95ef4be27724f60ac02cff4e15c4579ea833
4
- data.tar.gz: e87f89c047284f62cdd8d1975aae5c464e096f32c752352f5d83820b8e922ea4
3
+ metadata.gz: 3b71559ca253efcd620dbbc41ccd95dc17f479a4d9efe3241565038edee43acb
4
+ data.tar.gz: cfb8da8803830124ea5c6147d83150c05d14068518b0d45285528096925a62a3
5
5
  SHA512:
6
- metadata.gz: 98361d750d5bf3605b4acda0c974be206ae115fa973f8d4e57d723874d2fed40eb86b4f635ce22a502c5faf36e1e6ee12456f95b9d4fc8a5e763a0747393a20e
7
- data.tar.gz: ebf6134571b25c908d9dba394286a31564517d0218d3d97975e5965a85d3607c91ff37f191cbb8d1dd2942bd9c47209cbb56315bd7ea3a4e92c92d5313220b36
6
+ metadata.gz: 20717e1151bb52bb1917456ee22a8e73382b7e8ca0fb33d1aad73f2150e3533837b5ce0c20464a65d1988398be27218af2884eb16227a1a8660a47c600f4d220
7
+ data.tar.gz: 8d4dff6877a2d28dca45c17116292ef6a2c78e2f6e78b4a255b52c1f3c1aab5fb7daaa62d80655f2e6c90527eff44840f27fe85aef04ac85938710f7ef9a738d
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- promoted-ruby-client (4.0.1)
4
+ promoted-ruby-client (5.0.0)
5
5
  concurrent-ruby (~> 1)
6
6
  faraday (>= 0.9.0)
7
7
  faraday_middleware (>= 0.9.0)
data/dev.md CHANGED
@@ -11,4 +11,4 @@ bundle exec rspec
11
11
  3. Modify `promoted-ruby-client.gemspec`'s push block.
12
12
  4. Run `gem build promoted-ruby-client.gemspec` to generate `gem`.
13
13
  5. Run `bundle exec rspec`. This updates `Gemfile.lock`.
14
- 6. Run (using new output) `gem push promoted-ruby-client-4.0.1.gem`
14
+ 6. Run (using new output) `gem push promoted-ruby-client-5.0.0.gem`
@@ -135,7 +135,7 @@ module Promoted
135
135
  end
136
136
 
137
137
  # TODO - delete?
138
- def validate_metrics_request!(metrics_req)
138
+ def validate_delivery_args!(metrics_req)
139
139
  validate_fields!(
140
140
  metrics_req,
141
141
  "metrics request",
@@ -143,6 +143,10 @@ module Promoted
143
143
  {
144
144
  :name => :request,
145
145
  :required => true
146
+ },
147
+ {
148
+ :name => :retrieval_insertion_offset,
149
+ :type => Integer
146
150
  }
147
151
  ]
148
152
  )
@@ -1,7 +1,7 @@
1
1
  module Promoted
2
2
  module Ruby
3
3
  module Client
4
- VERSION = "4.0.1"
4
+ VERSION = "5.0.0"
5
5
  SERVER_VERSION = "rb." + VERSION
6
6
  end
7
7
  end
@@ -54,7 +54,6 @@ module Promoted
54
54
 
55
55
  @sampler = Sampler.new
56
56
  @pager = Pager.new
57
- @retrieval_insertion_offset = params[:retrieval_insertion_offset] || 0
58
57
 
59
58
  # HTTP Client creation
60
59
  @delivery_endpoint = params[:delivery_endpoint] || DEFAULT_DELIVERY_ENDPOINT
@@ -116,11 +115,12 @@ module Promoted
116
115
  # Make a delivery request. If @perform_checks is set, input validation will occur and possibly raise errors.
117
116
  def deliver args, headers={}
118
117
  args = Promoted::Ruby::Client::Util.translate_hash(args)
118
+ retrieval_insertion_offset = args[:retrieval_insertion_offset] || 0
119
119
 
120
120
  # Respect the enabled state
121
121
  if !@enabled
122
122
  return {
123
- insertion: @pager.apply_paging(args[:request][:insertion], @retrieval_insertion_offset, args[:request][:paging])
123
+ insertion: @pager.apply_paging(args[:request][:insertion], retrieval_insertion_offset, args[:request][:paging])
124
124
  # No log request returned when disabled
125
125
  }
126
126
  end
@@ -152,7 +152,7 @@ module Promoted
152
152
  end
153
153
 
154
154
  begin
155
- @pager.validate_paging(delivery_request_builder.insertion, @retrieval_insertion_offset, delivery_request_builder.request[:paging])
155
+ @pager.validate_paging(delivery_request_builder.insertion, retrieval_insertion_offset, delivery_request_builder.request[:paging])
156
156
  rescue InvalidPagingError => err
157
157
  # Invalid input, log and do SDK-side delivery.
158
158
  @logger.warn(err) if @logger
@@ -194,7 +194,7 @@ module Promoted
194
194
  end
195
195
 
196
196
  if !insertions_from_delivery then
197
- response_insertions = build_sdk_response_insertions(delivery_request_builder)
197
+ response_insertions = build_sdk_response_insertions(delivery_request_builder, retrieval_insertion_offset)
198
198
  end
199
199
 
200
200
  log_req = nil
@@ -239,8 +239,8 @@ module Promoted
239
239
 
240
240
  ##
241
241
  # Creates response insertions for SDK-side delivery, when we don't get response insertions from Delivery API.
242
- def build_sdk_response_insertions delivery_request_builder
243
- response_insertions = @pager.apply_paging(delivery_request_builder.insertion, @retrieval_insertion_offset, delivery_request_builder.request[:paging])
242
+ def build_sdk_response_insertions delivery_request_builder, retrieval_insertion_offset
243
+ response_insertions = @pager.apply_paging(delivery_request_builder.insertion, retrieval_insertion_offset, delivery_request_builder.request[:paging])
244
244
  delivery_request_builder.add_missing_insertion_ids! response_insertions
245
245
  return response_insertions
246
246
  end
@@ -317,7 +317,7 @@ module Promoted
317
317
  delivery_request_params[:client_info][:traffic_type] = Promoted::Ruby::Client::TRAFFIC_TYPE['SHADOW']
318
318
 
319
319
  begin
320
- @pager.validate_paging(delivery_request_builder.insertion, @retrieval_insertion_offset, delivery_request_builder.request[:paging])
320
+ @pager.validate_paging(delivery_request_builder.insertion, args[:retrieval_insertion_offset], delivery_request_builder.request[:paging])
321
321
  rescue InvalidPagingError => err
322
322
  # Invalid input, log and skip.
323
323
  @logger.warn("Shadow traffic call failed with invalid paging #{err}") if @logger
@@ -344,11 +344,11 @@ module Promoted
344
344
  end
345
345
  end
346
346
 
347
- def perform_common_checks!(req)
347
+ def perform_common_checks!(delivery_args)
348
348
  begin
349
- @validator.check_that_log_ids_not_set!(req)
350
- @validator.validate_metrics_request!(req)
351
- @validator.check_that_content_ids_are_set!(req)
349
+ @validator.check_that_log_ids_not_set!(delivery_args)
350
+ @validator.validate_delivery_args!(delivery_args)
351
+ @validator.check_that_content_ids_are_set!(delivery_args)
352
352
  rescue StandardError => err
353
353
  @logger.error(err) if @logger
354
354
  raise
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: 4.0.1
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - scottmcmaster
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-09-25 00:00:00.000000000 Z
11
+ date: 2023-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday