launchdarkly-server-sdk 7.0.2 → 8.4.2

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.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -4
  3. data/lib/ldclient-rb/config.rb +50 -70
  4. data/lib/ldclient-rb/context.rb +65 -50
  5. data/lib/ldclient-rb/evaluation_detail.rb +5 -1
  6. data/lib/ldclient-rb/events.rb +81 -8
  7. data/lib/ldclient-rb/impl/big_segments.rb +1 -1
  8. data/lib/ldclient-rb/impl/broadcaster.rb +78 -0
  9. data/lib/ldclient-rb/impl/context.rb +3 -3
  10. data/lib/ldclient-rb/impl/context_filter.rb +30 -9
  11. data/lib/ldclient-rb/impl/data_source.rb +188 -0
  12. data/lib/ldclient-rb/impl/data_store.rb +59 -0
  13. data/lib/ldclient-rb/impl/dependency_tracker.rb +102 -0
  14. data/lib/ldclient-rb/impl/evaluation_with_hook_result.rb +34 -0
  15. data/lib/ldclient-rb/impl/event_sender.rb +1 -0
  16. data/lib/ldclient-rb/impl/event_types.rb +61 -3
  17. data/lib/ldclient-rb/impl/flag_tracker.rb +58 -0
  18. data/lib/ldclient-rb/impl/integrations/consul_impl.rb +12 -0
  19. data/lib/ldclient-rb/impl/integrations/dynamodb_impl.rb +8 -0
  20. data/lib/ldclient-rb/impl/integrations/file_data_source.rb +16 -3
  21. data/lib/ldclient-rb/impl/integrations/redis_impl.rb +19 -2
  22. data/lib/ldclient-rb/impl/migrations/migrator.rb +287 -0
  23. data/lib/ldclient-rb/impl/migrations/tracker.rb +136 -0
  24. data/lib/ldclient-rb/impl/model/feature_flag.rb +25 -3
  25. data/lib/ldclient-rb/impl/repeating_task.rb +2 -3
  26. data/lib/ldclient-rb/impl/sampler.rb +25 -0
  27. data/lib/ldclient-rb/impl/store_client_wrapper.rb +102 -8
  28. data/lib/ldclient-rb/in_memory_store.rb +7 -0
  29. data/lib/ldclient-rb/integrations/file_data.rb +1 -1
  30. data/lib/ldclient-rb/integrations/test_data/flag_builder.rb +84 -15
  31. data/lib/ldclient-rb/integrations/test_data.rb +3 -3
  32. data/lib/ldclient-rb/integrations/util/store_wrapper.rb +11 -0
  33. data/lib/ldclient-rb/interfaces.rb +671 -0
  34. data/lib/ldclient-rb/ldclient.rb +313 -22
  35. data/lib/ldclient-rb/migrations.rb +230 -0
  36. data/lib/ldclient-rb/polling.rb +51 -5
  37. data/lib/ldclient-rb/reference.rb +11 -0
  38. data/lib/ldclient-rb/requestor.rb +5 -5
  39. data/lib/ldclient-rb/stream.rb +91 -29
  40. data/lib/ldclient-rb/util.rb +89 -0
  41. data/lib/ldclient-rb/version.rb +1 -1
  42. data/lib/ldclient-rb.rb +1 -0
  43. metadata +44 -6
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: launchdarkly-server-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.2
4
+ version: 8.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - LaunchDarkly
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-01-27 00:00:00.000000000 Z
11
+ date: 2024-05-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-dynamodb
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
40
  version: 2.2.33
41
+ - !ruby/object:Gem::Dependency
42
+ name: simplecov
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.21'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.21'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rspec
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -212,14 +226,28 @@ dependencies:
212
226
  requirements:
213
227
  - - '='
214
228
  - !ruby/object:Gem::Version
215
- version: 2.2.1
229
+ version: 2.2.2
216
230
  type: :runtime
217
231
  prerelease: false
218
232
  version_requirements: !ruby/object:Gem::Requirement
219
233
  requirements:
220
234
  - - '='
221
235
  - !ruby/object:Gem::Version
222
- version: 2.2.1
236
+ version: 2.2.2
237
+ - !ruby/object:Gem::Dependency
238
+ name: observer
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
243
+ version: 0.1.2
244
+ type: :runtime
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: 0.1.2
223
251
  - !ruby/object:Gem::Dependency
224
252
  name: json
225
253
  requirement: !ruby/object:Gem::Requirement
@@ -274,9 +302,14 @@ files:
274
302
  - lib/ldclient-rb/flags_state.rb
275
303
  - lib/ldclient-rb/impl.rb
276
304
  - lib/ldclient-rb/impl/big_segments.rb
305
+ - lib/ldclient-rb/impl/broadcaster.rb
277
306
  - lib/ldclient-rb/impl/context.rb
278
307
  - lib/ldclient-rb/impl/context_filter.rb
308
+ - lib/ldclient-rb/impl/data_source.rb
309
+ - lib/ldclient-rb/impl/data_store.rb
310
+ - lib/ldclient-rb/impl/dependency_tracker.rb
279
311
  - lib/ldclient-rb/impl/diagnostic_events.rb
312
+ - lib/ldclient-rb/impl/evaluation_with_hook_result.rb
280
313
  - lib/ldclient-rb/impl/evaluator.rb
281
314
  - lib/ldclient-rb/impl/evaluator_bucketing.rb
282
315
  - lib/ldclient-rb/impl/evaluator_helpers.rb
@@ -284,17 +317,21 @@ files:
284
317
  - lib/ldclient-rb/impl/event_sender.rb
285
318
  - lib/ldclient-rb/impl/event_summarizer.rb
286
319
  - lib/ldclient-rb/impl/event_types.rb
320
+ - lib/ldclient-rb/impl/flag_tracker.rb
287
321
  - lib/ldclient-rb/impl/integrations/consul_impl.rb
288
322
  - lib/ldclient-rb/impl/integrations/dynamodb_impl.rb
289
323
  - lib/ldclient-rb/impl/integrations/file_data_source.rb
290
324
  - lib/ldclient-rb/impl/integrations/redis_impl.rb
291
325
  - lib/ldclient-rb/impl/integrations/test_data/test_data_source.rb
326
+ - lib/ldclient-rb/impl/migrations/migrator.rb
327
+ - lib/ldclient-rb/impl/migrations/tracker.rb
292
328
  - lib/ldclient-rb/impl/model/clause.rb
293
329
  - lib/ldclient-rb/impl/model/feature_flag.rb
294
330
  - lib/ldclient-rb/impl/model/preprocessed_data.rb
295
331
  - lib/ldclient-rb/impl/model/segment.rb
296
332
  - lib/ldclient-rb/impl/model/serialization.rb
297
333
  - lib/ldclient-rb/impl/repeating_task.rb
334
+ - lib/ldclient-rb/impl/sampler.rb
298
335
  - lib/ldclient-rb/impl/store_client_wrapper.rb
299
336
  - lib/ldclient-rb/impl/store_data_set_sorter.rb
300
337
  - lib/ldclient-rb/impl/unbounded_pool.rb
@@ -311,6 +348,7 @@ files:
311
348
  - lib/ldclient-rb/interfaces.rb
312
349
  - lib/ldclient-rb/ldclient.rb
313
350
  - lib/ldclient-rb/memoized_value.rb
351
+ - lib/ldclient-rb/migrations.rb
314
352
  - lib/ldclient-rb/non_blocking_thread_pool.rb
315
353
  - lib/ldclient-rb/polling.rb
316
354
  - lib/ldclient-rb/reference.rb
@@ -331,14 +369,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
331
369
  requirements:
332
370
  - - ">="
333
371
  - !ruby/object:Gem::Version
334
- version: 2.7.0
372
+ version: 3.0.0
335
373
  required_rubygems_version: !ruby/object:Gem::Requirement
336
374
  requirements:
337
375
  - - ">="
338
376
  - !ruby/object:Gem::Version
339
377
  version: '0'
340
378
  requirements: []
341
- rubygems_version: 3.4.5
379
+ rubygems_version: 3.5.9
342
380
  signing_key:
343
381
  specification_version: 4
344
382
  summary: LaunchDarkly SDK for Ruby