module Statsig
Public Class Methods
check_gate(user, gate_name)
click to toggle source
# File lib/statsig.rb, line 13 def self.check_gate(user, gate_name) self.ensure_initialized @shared_instance&.check_gate(user, gate_name) end
get_config(user, dynamic_config_name)
click to toggle source
# File lib/statsig.rb, line 18 def self.get_config(user, dynamic_config_name) self.ensure_initialized @shared_instance&.get_config(user, dynamic_config_name) end
get_experiment(user, experiment_name)
click to toggle source
# File lib/statsig.rb, line 23 def self.get_experiment(user, experiment_name) self.ensure_initialized @shared_instance&.get_config(user, experiment_name) end
initialize(secret_key, options = nil)
click to toggle source
# File lib/statsig.rb, line 4 def self.initialize(secret_key, options = nil) unless @shared_instance.nil? puts 'Statsig already initialized.' return @shared_instance end @shared_instance = StatsigDriver.new(secret_key, options) end
log_event(user, event_name, value, metadata)
click to toggle source
# File lib/statsig.rb, line 28 def self.log_event(user, event_name, value, metadata) self.ensure_initialized @shared_instance&.log_event(user, event_name, value, metadata) end
shutdown()
click to toggle source
# File lib/statsig.rb, line 33 def self.shutdown unless @shared_instance.nil? @shared_instance.shutdown end @shared_instance = nil end
Private Class Methods
ensure_initialized()
click to toggle source
# File lib/statsig.rb, line 42 def self.ensure_initialized if @shared_instance.nil? raise 'Must call initialize first.' end end