statsig 2.6.0 → 2.7.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/statsig.rb +21 -1
- data/lib/statsig_driver.rb +27 -0
- 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: 03e6d3622747b21150f1b9af0da570e2771c1a2794eeb0806decda2a358f5530
|
4
|
+
data.tar.gz: 6368ec902764c9347d56690d2369dd17763adea6b54dc18228e7fde41fab729c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ff3889f41fdcf86498dfbc7c8865e1a7d02236e75adaa2e6bf98afd4f6e8803506248e4c14f23346764f02ce8c957e4f66dfd9923047bc382084de976f08d79
|
7
|
+
data.tar.gz: def37cb5444b646dbe4e04057f5661ec1c58509c687b0b25014bb1078cec5bda4fb4a48291bd00afe9e82ed2877717dfd47e19f587aa30f0cb89e4009a9b183a
|
data/lib/statsig.rb
CHANGED
@@ -92,6 +92,11 @@ module Statsig
|
|
92
92
|
@shared_instance&.manually_log_gate_exposure(user, gate_name)
|
93
93
|
end
|
94
94
|
|
95
|
+
def self.get_fields_used_for_gate(gate_name)
|
96
|
+
ensure_initialized
|
97
|
+
@shared_instance&.get_fields_used_for_gate(gate_name)
|
98
|
+
end
|
99
|
+
|
95
100
|
class GetConfigOptions
|
96
101
|
attr_accessor :disable_log_exposure, :disable_evaluation_details, :ignore_local_overrides
|
97
102
|
|
@@ -136,6 +141,11 @@ module Statsig
|
|
136
141
|
@shared_instance&.manually_log_config_exposure(user, dynamic_config)
|
137
142
|
end
|
138
143
|
|
144
|
+
def self.get_fields_used_for_config(config_name)
|
145
|
+
ensure_initialized
|
146
|
+
@shared_instance&.get_fields_used_for_config(config_name)
|
147
|
+
end
|
148
|
+
|
139
149
|
class GetExperimentOptions
|
140
150
|
attr_accessor :disable_log_exposure, :user_persisted_values, :disable_evaluation_details, :ignore_local_overrides
|
141
151
|
|
@@ -184,6 +194,11 @@ module Statsig
|
|
184
194
|
@shared_instance&.get_user_persisted_values(user, id_type)
|
185
195
|
end
|
186
196
|
|
197
|
+
def self.get_fields_used_for_experiment(experiment_name)
|
198
|
+
ensure_initialized
|
199
|
+
@shared_instance&.get_fields_used_for_config(experiment_name)
|
200
|
+
end
|
201
|
+
|
187
202
|
class GetLayerOptions
|
188
203
|
attr_accessor :disable_log_exposure, :disable_evaluation_details
|
189
204
|
|
@@ -227,6 +242,11 @@ module Statsig
|
|
227
242
|
@shared_instance&.manually_log_layer_parameter_exposure(user, layer_name, parameter_name)
|
228
243
|
end
|
229
244
|
|
245
|
+
def self.get_fields_used_for_layer(layer_name)
|
246
|
+
ensure_initialized
|
247
|
+
@shared_instance&.get_fields_used_for_layer(layer_name)
|
248
|
+
end
|
249
|
+
|
230
250
|
##
|
231
251
|
# Logs an event to Statsig with the provided values.
|
232
252
|
#
|
@@ -386,7 +406,7 @@ module Statsig
|
|
386
406
|
def self.get_statsig_metadata
|
387
407
|
{
|
388
408
|
'sdkType' => 'ruby-server',
|
389
|
-
'sdkVersion' => '2.
|
409
|
+
'sdkVersion' => '2.7.0',
|
390
410
|
'languageVersion' => RUBY_VERSION
|
391
411
|
}
|
392
412
|
end
|
data/lib/statsig_driver.rb
CHANGED
@@ -117,6 +117,15 @@ class StatsigDriver
|
|
117
117
|
end
|
118
118
|
end
|
119
119
|
|
120
|
+
def get_fields_used_for_gate(gate_name)
|
121
|
+
@err_boundary.capture(caller: __method__, recover: -> { [] }) do
|
122
|
+
gate = @store.get_gate(gate_name)
|
123
|
+
return [] if gate.nil?
|
124
|
+
|
125
|
+
gate[:fieldsUsed] || []
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
120
129
|
def get_config(user, dynamic_config_name, options = nil)
|
121
130
|
@err_boundary.capture(caller: __method__, recover: -> { DynamicConfig.new(dynamic_config_name) }) do
|
122
131
|
run_with_diagnostics(caller: :get_config) do
|
@@ -132,6 +141,15 @@ class StatsigDriver
|
|
132
141
|
end
|
133
142
|
end
|
134
143
|
|
144
|
+
def get_fields_used_for_config(config_name)
|
145
|
+
@err_boundary.capture(caller: __method__, recover: -> { [] }) do
|
146
|
+
config = @store.get_config(config_name)
|
147
|
+
return [] if config.nil?
|
148
|
+
|
149
|
+
config[:fieldsUsed] || []
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
135
153
|
def get_experiment(user, experiment_name, options = nil)
|
136
154
|
@err_boundary.capture(caller: __method__, recover: -> { DynamicConfig.new(experiment_name) }) do
|
137
155
|
run_with_diagnostics(caller: :get_experiment) do
|
@@ -201,6 +219,15 @@ class StatsigDriver
|
|
201
219
|
end
|
202
220
|
end
|
203
221
|
|
222
|
+
def get_fields_used_for_layer(layer_name)
|
223
|
+
@err_boundary.capture(caller: __method__, recover: -> { [] }) do
|
224
|
+
layer = @store.get_layer(layer_name)
|
225
|
+
return [] if layer.nil?
|
226
|
+
|
227
|
+
layer[:fieldsUsed] || []
|
228
|
+
end
|
229
|
+
end
|
230
|
+
|
204
231
|
def log_event(user, event_name, value = nil, metadata = nil)
|
205
232
|
@err_boundary.capture(caller: __method__) do
|
206
233
|
if !user.nil? && !user.instance_of?(StatsigUser)
|
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.7.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-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|