statsig 1.19.1 → 1.20.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 +24 -12
- data/lib/statsig_options.rb +11 -2
- 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: 31a3f19ad19ba6b7ce4ebd18e2632ee04a85d3a2176b2c914e75fcd8f326f578
|
4
|
+
data.tar.gz: b3d6905b985889b60a0e713231d7bb5576cb9638972d331243bf93c881557130
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4a15075766b794eeefdc187cd225edac10a35810a8066ffab521db2228466a5687007a58077a9c788b668b5ed25cddc0c125f5f74fbf4bdea0488318159e9c00
|
7
|
+
data.tar.gz: 74e4ded54a6dc0198ca99cca62d12517109957316a45b562c26df5eca6f154db9a2f1cb59f4a1c6575035a6863f5a7055ee7d4d7e38c6f8eeaa7930eb487cebd
|
data/lib/statsig.rb
CHANGED
@@ -21,6 +21,8 @@ module Statsig
|
|
21
21
|
return @shared_instance
|
22
22
|
end
|
23
23
|
|
24
|
+
self.bind_sorbet_loggers(options)
|
25
|
+
|
24
26
|
@shared_instance = StatsigDriver.new(secret_key, options, error_callback)
|
25
27
|
end
|
26
28
|
|
@@ -225,7 +227,7 @@ module Statsig
|
|
225
227
|
def self.get_statsig_metadata
|
226
228
|
{
|
227
229
|
'sdkType' => 'ruby-server',
|
228
|
-
'sdkVersion' => '1.
|
230
|
+
'sdkVersion' => '1.20.0',
|
229
231
|
}
|
230
232
|
end
|
231
233
|
|
@@ -237,20 +239,30 @@ module Statsig
|
|
237
239
|
end
|
238
240
|
end
|
239
241
|
|
240
|
-
|
241
|
-
puts "[Type Error] " + opts[:pretty_message]
|
242
|
-
end
|
242
|
+
sig { params(options: T.any(StatsigOptions, NilClass)).void }
|
243
243
|
|
244
|
-
|
245
|
-
|
246
|
-
|
244
|
+
def self.bind_sorbet_loggers(options)
|
245
|
+
if options&.disable_sorbet_logging_handlers == true
|
246
|
+
return
|
247
|
+
end
|
247
248
|
|
248
|
-
|
249
|
-
|
250
|
-
|
249
|
+
T::Configuration.call_validation_error_handler = lambda do |signature, opts|
|
250
|
+
puts "[Type Error] " + opts[:pretty_message]
|
251
|
+
end
|
252
|
+
|
253
|
+
T::Configuration.inline_type_error_handler = lambda do |error, opts|
|
254
|
+
puts "[Type Error] " + error.message
|
255
|
+
end
|
256
|
+
|
257
|
+
T::Configuration.sig_builder_error_handler = lambda do |error, location|
|
258
|
+
puts "[Type Error] " + error.message
|
259
|
+
end
|
260
|
+
|
261
|
+
T::Configuration.sig_validation_error_handler = lambda do |error, opts|
|
262
|
+
puts "[Type Error] " + error.message
|
263
|
+
end
|
251
264
|
|
252
|
-
|
253
|
-
puts "[Type Error] " + error.message
|
265
|
+
return
|
254
266
|
end
|
255
267
|
|
256
268
|
end
|
data/lib/statsig_options.rb
CHANGED
@@ -69,6 +69,12 @@ class StatsigOptions
|
|
69
69
|
# default: false
|
70
70
|
attr_accessor :disable_diagnostics_logging
|
71
71
|
|
72
|
+
sig { returns(T::Boolean) }
|
73
|
+
# Statsig utilizes Sorbet (https://sorbet.org) to ensure type safety of the SDK. This includes logging
|
74
|
+
# to console when errors are detected. You can disable this logging by setting this flag to true.
|
75
|
+
# default: false
|
76
|
+
attr_accessor :disable_sorbet_logging_handlers
|
77
|
+
|
72
78
|
sig do
|
73
79
|
params(
|
74
80
|
environment: T.any(T::Hash[String, String], NilClass),
|
@@ -82,7 +88,8 @@ class StatsigOptions
|
|
82
88
|
rules_updated_callback: T.any(Method, Proc, NilClass),
|
83
89
|
data_store: T.any(Statsig::Interfaces::IDataStore, NilClass),
|
84
90
|
idlist_threadpool_size: Integer,
|
85
|
-
disable_diagnostics_logging: T::Boolean
|
91
|
+
disable_diagnostics_logging: T::Boolean,
|
92
|
+
disable_sorbet_logging_handlers: T::Boolean
|
86
93
|
).void
|
87
94
|
end
|
88
95
|
|
@@ -98,7 +105,8 @@ class StatsigOptions
|
|
98
105
|
rules_updated_callback: nil,
|
99
106
|
data_store: nil,
|
100
107
|
idlist_threadpool_size: 3,
|
101
|
-
disable_diagnostics_logging: false
|
108
|
+
disable_diagnostics_logging: false,
|
109
|
+
disable_sorbet_logging_handlers: false)
|
102
110
|
@environment = environment.is_a?(Hash) ? environment : nil
|
103
111
|
@api_url_base = api_url_base
|
104
112
|
@rulesets_sync_interval = rulesets_sync_interval
|
@@ -111,5 +119,6 @@ class StatsigOptions
|
|
111
119
|
@data_store = data_store
|
112
120
|
@idlist_threadpool_size = idlist_threadpool_size
|
113
121
|
@disable_diagnostics_logging = disable_diagnostics_logging
|
122
|
+
@disable_sorbet_logging_handlers = disable_sorbet_logging_handlers
|
114
123
|
end
|
115
124
|
end
|
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.20.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: 2023-01-
|
11
|
+
date: 2023-01-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|