Skip to content

Commit 527ea67

Browse files
Remove experiment override (#408)
Merge Remove experiment override from public
1 parent 375290a commit 527ea67

File tree

4 files changed

+21
-0
lines changed

4 files changed

+21
-0
lines changed

lib/evaluator.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -568,6 +568,10 @@ def clear_experiment_overrides
568568
@experiment_overrides.clear
569569
end
570570

571+
def remove_experiment_override(experiment_name)
572+
@experiment_overrides.delete(experiment_name.to_sym)
573+
end
574+
571575
def eval_spec(config_name, user, config, end_result, is_nested: false)
572576
config[:rules].each do |rule|
573577
end_result.sampling_rate = rule[:samplingRate]

lib/statsig.rb

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -373,6 +373,11 @@ def self.clear_experiment_overrides
373373
@shared_instance&.clear_experiment_overrides
374374
end
375375

376+
def self.remove_experiment_override(experiment_name)
377+
ensure_initialized
378+
@shared_instance&.remove_experiment_override(experiment_name)
379+
end
380+
376381
##
377382
# @param [HashTable] debug information log with exposure events
378383
def self.set_debug_info(debug_info)

lib/statsig_driver.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,12 @@ def clear_experiment_overrides
338338
end
339339
end
340340

341+
def remove_experiment_override(experiment_name)
342+
@err_boundary.capture(caller: __method__) do
343+
@evaluator.remove_experiment_override(experiment_name)
344+
end
345+
end
346+
341347
def set_debug_info(debug_info)
342348
@err_boundary.capture(caller: __method__) do
343349
@logger.set_debug_info(debug_info)

test/local_overrides_test.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,12 @@ def test_override_experiment_by_group_name
117117
assert_equal('LocalOverride', exp.evaluation_details&.reason)
118118
assert_equal('2RamGujUou6h2bVNQWhtNZ', exp.rule_id)
119119

120+
Statsig.remove_experiment_override('sample_experiment')
121+
exp = Statsig.get_experiment(user, 'sample_experiment')
122+
assert_equal('Test', exp.group_name)
123+
assert_equal('Bootstrap', exp.evaluation_details&.reason)
124+
assert_equal('2RamGujUou6h2bVNQWhtNZ', exp.rule_id)
125+
120126
exp = Statsig.get_experiment(user, 'sample_experiment', Statsig::GetExperimentOptions.new(ignore_local_overrides: true))
121127
assert_equal('Test', exp.group_name)
122128
assert_equal('Bootstrap', exp.evaluation_details&.reason)

0 commit comments

Comments
 (0)