splitclient-rb 8.5.0 → 8.6.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 +4 -4
- data/.github/workflows/gem-push.yml +40 -0
- data/CHANGES.txt +4 -0
- data/lib/splitclient-rb/cache/fetchers/split_fetcher.rb +9 -7
- data/lib/splitclient-rb/cache/repositories/rule_based_segments_repository.rb +122 -0
- data/lib/splitclient-rb/cache/repositories/segments_repository.rb +7 -0
- data/lib/splitclient-rb/cache/repositories/splits_repository.rb +19 -11
- data/lib/splitclient-rb/cache/stores/localhost_split_builder.rb +2 -1
- data/lib/splitclient-rb/clients/split_client.rb +2 -0
- data/lib/splitclient-rb/engine/api/client.rb +8 -0
- data/lib/splitclient-rb/engine/api/splits.rb +99 -23
- data/lib/splitclient-rb/engine/matchers/combining_matcher.rb +3 -1
- data/lib/splitclient-rb/engine/matchers/prerequisites_matcher.rb +31 -0
- data/lib/splitclient-rb/engine/matchers/rule_based_segment_matcher.rb +75 -0
- data/lib/splitclient-rb/engine/models/label.rb +1 -0
- data/lib/splitclient-rb/engine/models/segment_type.rb +4 -0
- data/lib/splitclient-rb/engine/models/split_http_response.rb +19 -0
- data/lib/splitclient-rb/engine/parser/condition.rb +9 -0
- data/lib/splitclient-rb/engine/parser/evaluator.rb +24 -30
- data/lib/splitclient-rb/engine/synchronizer.rb +33 -13
- data/lib/splitclient-rb/helpers/evaluator_helper.rb +37 -0
- data/lib/splitclient-rb/helpers/repository_helper.rb +38 -7
- data/lib/splitclient-rb/helpers/util.rb +12 -3
- data/lib/splitclient-rb/spec.rb +1 -1
- data/lib/splitclient-rb/split_config.rb +4 -0
- data/lib/splitclient-rb/split_factory.rb +5 -3
- data/lib/splitclient-rb/sse/event_source/event_types.rb +1 -0
- data/lib/splitclient-rb/sse/notification_processor.rb +3 -1
- data/lib/splitclient-rb/sse/workers/splits_worker.rb +58 -19
- data/lib/splitclient-rb/version.rb +1 -1
- data/lib/splitclient-rb.rb +6 -0
- data/splitclient-rb.gemspec +2 -2
- metadata +15 -7
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: splitclient-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 8.
|
4
|
+
version: 8.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Split Software
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-06-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: allocation_stats
|
@@ -184,28 +184,28 @@ dependencies:
|
|
184
184
|
requirements:
|
185
185
|
- - "~>"
|
186
186
|
- !ruby/object:Gem::Version
|
187
|
-
version: '3.
|
187
|
+
version: '3.24'
|
188
188
|
type: :development
|
189
189
|
prerelease: false
|
190
190
|
version_requirements: !ruby/object:Gem::Requirement
|
191
191
|
requirements:
|
192
192
|
- - "~>"
|
193
193
|
- !ruby/object:Gem::Version
|
194
|
-
version: '3.
|
194
|
+
version: '3.24'
|
195
195
|
- !ruby/object:Gem::Dependency
|
196
196
|
name: webrick
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|
198
198
|
requirements:
|
199
199
|
- - "~>"
|
200
200
|
- !ruby/object:Gem::Version
|
201
|
-
version:
|
201
|
+
version: 1.8.2
|
202
202
|
type: :development
|
203
203
|
prerelease: false
|
204
204
|
version_requirements: !ruby/object:Gem::Requirement
|
205
205
|
requirements:
|
206
206
|
- - "~>"
|
207
207
|
- !ruby/object:Gem::Version
|
208
|
-
version:
|
208
|
+
version: 1.8.2
|
209
209
|
- !ruby/object:Gem::Dependency
|
210
210
|
name: bitarray
|
211
211
|
requirement: !ruby/object:Gem::Requirement
|
@@ -413,6 +413,7 @@ files:
|
|
413
413
|
- ".github/CODEOWNERS"
|
414
414
|
- ".github/pull_request_template.md"
|
415
415
|
- ".github/workflows/ci.yml"
|
416
|
+
- ".github/workflows/gem-push.yml"
|
416
417
|
- ".github/workflows/update-license-year.yml"
|
417
418
|
- ".gitignore"
|
418
419
|
- ".rubocop.yml"
|
@@ -456,6 +457,7 @@ files:
|
|
456
457
|
- lib/splitclient-rb/cache/repositories/impressions/redis_repository.rb
|
457
458
|
- lib/splitclient-rb/cache/repositories/impressions_repository.rb
|
458
459
|
- lib/splitclient-rb/cache/repositories/repository.rb
|
460
|
+
- lib/splitclient-rb/cache/repositories/rule_based_segments_repository.rb
|
459
461
|
- lib/splitclient-rb/cache/repositories/segments_repository.rb
|
460
462
|
- lib/splitclient-rb/cache/repositories/splits_repository.rb
|
461
463
|
- lib/splitclient-rb/cache/routers/impression_router.rb
|
@@ -510,6 +512,8 @@ files:
|
|
510
512
|
- lib/splitclient-rb/engine/matchers/matches_string_matcher.rb
|
511
513
|
- lib/splitclient-rb/engine/matchers/negation_matcher.rb
|
512
514
|
- lib/splitclient-rb/engine/matchers/part_of_set_matcher.rb
|
515
|
+
- lib/splitclient-rb/engine/matchers/prerequisites_matcher.rb
|
516
|
+
- lib/splitclient-rb/engine/matchers/rule_based_segment_matcher.rb
|
513
517
|
- lib/splitclient-rb/engine/matchers/semver.rb
|
514
518
|
- lib/splitclient-rb/engine/matchers/set_matcher.rb
|
515
519
|
- lib/splitclient-rb/engine/matchers/starts_with_matcher.rb
|
@@ -517,7 +521,9 @@ files:
|
|
517
521
|
- lib/splitclient-rb/engine/matchers/whitelist_matcher.rb
|
518
522
|
- lib/splitclient-rb/engine/metrics/binary_search_latency_tracker.rb
|
519
523
|
- lib/splitclient-rb/engine/models/label.rb
|
524
|
+
- lib/splitclient-rb/engine/models/segment_type.rb
|
520
525
|
- lib/splitclient-rb/engine/models/split.rb
|
526
|
+
- lib/splitclient-rb/engine/models/split_http_response.rb
|
521
527
|
- lib/splitclient-rb/engine/models/treatment.rb
|
522
528
|
- lib/splitclient-rb/engine/parser/condition.rb
|
523
529
|
- lib/splitclient-rb/engine/parser/evaluator.rb
|
@@ -528,6 +534,7 @@ files:
|
|
528
534
|
- lib/splitclient-rb/engine/synchronizer.rb
|
529
535
|
- lib/splitclient-rb/exceptions.rb
|
530
536
|
- lib/splitclient-rb/helpers/decryption_helper.rb
|
537
|
+
- lib/splitclient-rb/helpers/evaluator_helper.rb
|
531
538
|
- lib/splitclient-rb/helpers/repository_helper.rb
|
532
539
|
- lib/splitclient-rb/helpers/thread_helper.rb
|
533
540
|
- lib/splitclient-rb/helpers/util.rb
|
@@ -594,7 +601,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
594
601
|
- !ruby/object:Gem::Version
|
595
602
|
version: '0'
|
596
603
|
requirements: []
|
597
|
-
|
604
|
+
rubyforge_project:
|
605
|
+
rubygems_version: 2.7.6.2
|
598
606
|
signing_key:
|
599
607
|
specification_version: 4
|
600
608
|
summary: Ruby client for split SDK.
|