Top Level Namespace

Defined Under Namespace

Modules: AmplitudeAnalytics, AmplitudeExperiment, EvaluationInterop

Instance Method Summary collapse

Instance Method Details

#evaluation(rule_json, user_json) ⇒ Object



60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/experiment/local/evaluation/evaluation.rb', line 60

def evaluation(rule_json, user_json)
  lib = EvaluationInterop.libevaluation_interop_symbols()
  fn = lib[:kotlin][:root][:evaluate]
  result_json = fn.call(rule_json, user_json).read_string
  result = JSON.parse(result_json)
  if result["error"] != nil
    raise "#{result["error"]}"
  elsif result["result"] == nil
    raise "Evaluation result is nil."
  end
  result["result"]
end