statsig 1.5.1 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/evaluator.rb +2 -0
- data/lib/statsig_driver.rb +7 -4
- 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: a1985e842f0301387596fbd3d8db298ce485c013a502c09a1aff00916882afc0
|
4
|
+
data.tar.gz: 9cf814e0def7dc3fefd2db9d80f102ec318a41703e6638f66b8a8d844c751959
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba2661bcd29ca31b3c458f8046add904029b03ecc0eeeb0c358760467389e58c5f48b5bc39456df1ea2e30051df951359a37e1045283a5d77f911291b0f7bfcd
|
7
|
+
data.tar.gz: 2631c284b8b792101558e90689353c79aa043a22cbf2f995f045efc4333f74d3d80fcca639ece7f11d734cc4a39b459edd08ce14f6603f86f09ad57afadf2c08
|
data/lib/evaluator.rb
CHANGED
@@ -153,6 +153,8 @@ class Evaluator
|
|
153
153
|
return EvaluationHelpers::match_string_in_array(target, value, true, ->(a, b) { a.end_with?(b) })
|
154
154
|
when 'str_contains_any'
|
155
155
|
return EvaluationHelpers::match_string_in_array(target, value, true, ->(a, b) { a.include?(b) })
|
156
|
+
when 'str_contains_none'
|
157
|
+
return !EvaluationHelpers::match_string_in_array(target, value, true, ->(a, b) { a.include?(b) })
|
156
158
|
when 'str_matches'
|
157
159
|
return (value.is_a?(String) && !(value =~ Regexp.new(target)).nil? rescue false)
|
158
160
|
when 'eq'
|
data/lib/statsig_driver.rb
CHANGED
@@ -56,9 +56,11 @@ class StatsigDriver
|
|
56
56
|
|
57
57
|
if res == $fetch_from_server
|
58
58
|
res = check_gate_fallback(user, gate_name)
|
59
|
+
# exposure logged by the server
|
60
|
+
else
|
61
|
+
@logger.log_gate_exposure(user, res.name, res.gate_value, res.rule_id)
|
59
62
|
end
|
60
63
|
|
61
|
-
@logger.log_gate_exposure(user, res.name, res.gate_value, res.rule_id)
|
62
64
|
res.gate_value
|
63
65
|
end
|
64
66
|
|
@@ -80,11 +82,12 @@ class StatsigDriver
|
|
80
82
|
|
81
83
|
if res == $fetch_from_server
|
82
84
|
res = get_config_fallback(user, dynamic_config_name)
|
85
|
+
# exposure logged by the server
|
86
|
+
else
|
87
|
+
@logger.log_config_exposure(user, res.name, res.rule_id)
|
83
88
|
end
|
84
89
|
|
85
|
-
|
86
|
-
@logger.log_config_exposure(user, result_config.name, result_config.rule_id)
|
87
|
-
result_config
|
90
|
+
DynamicConfig.new(res.name, res.json_value, res.rule_id)
|
88
91
|
end
|
89
92
|
|
90
93
|
def log_event(user, event_name, value = nil, metadata = nil)
|
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: 1.
|
4
|
+
version: 1.6.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: 2021-09-
|
11
|
+
date: 2021-09-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|