Class: Hackle::PausedExperimentFlowEvaluator

Inherits:
Object
  • Object
show all
Includes:
ExperimentFlowEvaluator
Defined in:
lib/hackle/internal/evaluation/evaluator/experiment/experiment_flow_evaluator.rb

Instance Method Summary collapse

Instance Method Details

#evaluate(request, context, next_flow) ⇒ Object



66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/hackle/internal/evaluation/evaluator/experiment/experiment_flow_evaluator.rb', line 66

def evaluate(request, context, next_flow)
  return next_flow.evaluate(request, context) if request.experiment.status != ExperimentStatus::PAUSED

  case request.experiment.type
  when ExperimentType::AB_TEST
    ExperimentEvaluation.create_default(request, context, DecisionReason::EXPERIMENT_PAUSED)
  when ExperimentType::FEATURE_FLAG
    ExperimentEvaluation.create_default(request, context, DecisionReason::FEATURE_FLAG_INACTIVE)
  else
    raise ArgumentError, "unsupported experiment type [#{request.experiment.type}]"
  end
end