promoted-ruby-client 4.0.1 → 5.0.0

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