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
         |