statsig 2.7.0 → 2.8.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/lib/api_config.rb +1 -1
- data/lib/client_initialize_helpers.rb +1 -2
- data/lib/error_boundary.rb +1 -1
- data/lib/evaluator.rb +14 -10
- data/lib/hash_utils.rb +1 -1
- data/lib/network.rb +1 -2
- data/lib/spec_store.rb +5 -5
- data/lib/statsig.rb +8 -4
- data/lib/statsig_driver.rb +23 -16
- data/lib/statsig_logger.rb +4 -4
- data/lib/statsig_user.rb +1 -1
- data/lib/user_persistent_storage_utils.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 311fb1d15c6ec0f4ed51f2f73f996635607a535080baebbdba25eb30fc1fe2c3
|
|
4
|
+
data.tar.gz: 4e6a9f2e4aaa47e0bc01fb1dd3d2b3156ac50912424e1b2003e7bd6d10dafaaf
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 90177dc37af7c7ce248aa4542300d9091d5fc06baa6e8f012a9f96664e886b78a4b318124bc7b68ee3359e6fe8d6d66b1998134b679021c6ddf86c79a228006f
|
|
7
|
+
data.tar.gz: 3f9121c12308a26f56f0181593c5213702fa7707b17d7ff9e7d8834ba2b6c4eb8827d17307cbf4fd1d1f80de32716e3bf3bcec8b49385be73fee4c8f7c7b540f
|
data/lib/api_config.rb
CHANGED
data/lib/error_boundary.rb
CHANGED
data/lib/evaluator.rb
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
require 'config_result'
|
|
2
1
|
require 'country_lookup'
|
|
3
2
|
require 'digest'
|
|
4
|
-
require 'evaluation_helpers'
|
|
5
|
-
require 'client_initialize_helpers'
|
|
6
|
-
require 'spec_store'
|
|
7
3
|
require 'time'
|
|
8
|
-
require 'ua_parser'
|
|
9
|
-
require 'evaluation_details'
|
|
10
4
|
require 'user_agent_parser/operating_system'
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
require_relative 'client_initialize_helpers'
|
|
6
|
+
require_relative 'config_result'
|
|
7
|
+
require_relative 'constants'
|
|
8
|
+
require_relative 'evaluation_details'
|
|
9
|
+
require_relative 'evaluation_helpers'
|
|
10
|
+
require_relative 'spec_store'
|
|
11
|
+
require_relative 'ua_parser'
|
|
12
|
+
require_relative 'user_persistent_storage_utils'
|
|
13
13
|
|
|
14
14
|
module Statsig
|
|
15
15
|
class Evaluator
|
|
@@ -549,7 +549,7 @@ module Statsig
|
|
|
549
549
|
value: rule[:returnValue],
|
|
550
550
|
group_name: rule[:groupName],
|
|
551
551
|
rule_id: rule[:id],
|
|
552
|
-
evaluation_details: EvaluationDetails.local_override(@
|
|
552
|
+
evaluation_details: EvaluationDetails.local_override(@spec_store.last_config_sync_time, @spec_store.initial_config_sync_time)
|
|
553
553
|
}
|
|
554
554
|
return
|
|
555
555
|
end
|
|
@@ -560,7 +560,7 @@ module Statsig
|
|
|
560
560
|
value: {},
|
|
561
561
|
group_name: group_name,
|
|
562
562
|
rule_id: "#{experiment_name}:override",
|
|
563
|
-
evaluation_details: EvaluationDetails.local_override(@
|
|
563
|
+
evaluation_details: EvaluationDetails.local_override(@spec_store.last_config_sync_time, @spec_store.initial_config_sync_time)
|
|
564
564
|
}
|
|
565
565
|
end
|
|
566
566
|
|
|
@@ -568,6 +568,10 @@ module Statsig
|
|
|
568
568
|
@experiment_overrides.clear
|
|
569
569
|
end
|
|
570
570
|
|
|
571
|
+
def remove_experiment_override(experiment_name)
|
|
572
|
+
@experiment_overrides.delete(experiment_name.to_sym)
|
|
573
|
+
end
|
|
574
|
+
|
|
571
575
|
def eval_spec(config_name, user, config, end_result, is_nested: false)
|
|
572
576
|
config[:rules].each do |rule|
|
|
573
577
|
end_result.sampling_rate = rule[:samplingRate]
|
data/lib/hash_utils.rb
CHANGED
data/lib/network.rb
CHANGED
data/lib/spec_store.rb
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
require 'concurrent-ruby'
|
|
1
2
|
require 'net/http'
|
|
2
3
|
require 'uri'
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
require 'api_config'
|
|
4
|
+
require_relative 'api_config'
|
|
5
|
+
require_relative 'evaluation_details'
|
|
6
|
+
require_relative 'hash_utils'
|
|
7
|
+
require_relative 'id_list'
|
|
8
8
|
|
|
9
9
|
module Statsig
|
|
10
10
|
class SpecStore
|
data/lib/statsig.rb
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
require 'statsig_errors'
|
|
1
|
+
require_relative 'statsig_driver'
|
|
2
|
+
require_relative 'statsig_errors'
|
|
4
3
|
|
|
5
4
|
module Statsig
|
|
6
5
|
|
|
@@ -374,6 +373,11 @@ module Statsig
|
|
|
374
373
|
@shared_instance&.clear_experiment_overrides
|
|
375
374
|
end
|
|
376
375
|
|
|
376
|
+
def self.remove_experiment_override(experiment_name)
|
|
377
|
+
ensure_initialized
|
|
378
|
+
@shared_instance&.remove_experiment_override(experiment_name)
|
|
379
|
+
end
|
|
380
|
+
|
|
377
381
|
##
|
|
378
382
|
# @param [HashTable] debug information log with exposure events
|
|
379
383
|
def self.set_debug_info(debug_info)
|
|
@@ -406,7 +410,7 @@ module Statsig
|
|
|
406
410
|
def self.get_statsig_metadata
|
|
407
411
|
{
|
|
408
412
|
'sdkType' => 'ruby-server',
|
|
409
|
-
'sdkVersion' => '2.
|
|
413
|
+
'sdkVersion' => '2.8.0',
|
|
410
414
|
'languageVersion' => RUBY_VERSION
|
|
411
415
|
}
|
|
412
416
|
end
|
data/lib/statsig_driver.rb
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
require_relative 'api_config'
|
|
2
|
+
require_relative 'config_result'
|
|
3
|
+
require_relative 'diagnostics'
|
|
4
|
+
require_relative 'dynamic_config'
|
|
5
|
+
require_relative 'error_boundary'
|
|
6
|
+
require_relative 'evaluator'
|
|
7
|
+
require_relative 'feature_gate'
|
|
8
|
+
require_relative 'layer'
|
|
9
|
+
require_relative 'memo'
|
|
10
|
+
require_relative 'network'
|
|
11
|
+
require_relative 'sdk_configs'
|
|
12
|
+
require_relative 'spec_store'
|
|
13
|
+
require_relative 'statsig_errors'
|
|
14
|
+
require_relative 'statsig_event'
|
|
15
|
+
require_relative 'statsig_logger'
|
|
16
|
+
require_relative 'statsig_options'
|
|
17
|
+
require_relative 'statsig_user'
|
|
17
18
|
|
|
18
19
|
class StatsigDriver
|
|
19
20
|
|
|
@@ -337,6 +338,12 @@ class StatsigDriver
|
|
|
337
338
|
end
|
|
338
339
|
end
|
|
339
340
|
|
|
341
|
+
def remove_experiment_override(experiment_name)
|
|
342
|
+
@err_boundary.capture(caller: __method__) do
|
|
343
|
+
@evaluator.remove_experiment_override(experiment_name)
|
|
344
|
+
end
|
|
345
|
+
end
|
|
346
|
+
|
|
340
347
|
def set_debug_info(debug_info)
|
|
341
348
|
@err_boundary.capture(caller: __method__) do
|
|
342
349
|
@logger.set_debug_info(debug_info)
|
data/lib/statsig_logger.rb
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
require 'constants'
|
|
2
|
-
require 'statsig_event'
|
|
3
|
-
require 'ttl_set'
|
|
4
1
|
require 'concurrent-ruby'
|
|
5
|
-
|
|
2
|
+
require_relative 'constants'
|
|
3
|
+
require_relative 'hash_utils'
|
|
4
|
+
require_relative 'statsig_event'
|
|
5
|
+
require_relative 'ttl_set'
|
|
6
6
|
|
|
7
7
|
$gate_exposure_event = 'statsig::gate_exposure'
|
|
8
8
|
$config_exposure_event = 'statsig::config_exposure'
|
data/lib/statsig_user.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: statsig
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.8.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Statsig, Inc
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-10-
|
|
11
|
+
date: 2025-10-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|