launchdarkly-server-sdk 7.0.2 → 8.4.2

Sign up to get free protection for your applications and to get access to all the features.
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