Class: Observ::Evaluators::JsonStructureEvaluator
- Inherits:
-
BaseEvaluator
- Object
- BaseEvaluator
- Observ::Evaluators::JsonStructureEvaluator
- Defined in:
- app/services/observ/evaluators/json_structure_evaluator.rb
Instance Attribute Summary
Attributes inherited from BaseEvaluator
Instance Method Summary collapse
Methods inherited from BaseEvaluator
Constructor Details
This class inherits a constructor from Observ::Evaluators::BaseEvaluator
Instance Method Details
#evaluate(run_item) ⇒ Object
6 7 8 9 10 11 12 13 14 15 |
# File 'app/services/observ/evaluators/json_structure_evaluator.rb', line 6 def evaluate(run_item) required_keys = [:required_keys] || extract_keys_from_expected(run_item) return nil if required_keys.blank? output = parse_output(run_item.actual_output) return 0.0 if output.nil? present_keys = required_keys.count { |key| output.key?(key.to_s) || output.key?(key.to_sym) } present_keys.to_f / required_keys.size end |