Class: Observ::Evaluators::ContainsEvaluator

Inherits:
BaseEvaluator show all
Defined in:
app/services/observ/evaluators/contains_evaluator.rb

Instance Attribute Summary

Attributes inherited from BaseEvaluator

#name, #options

Instance Method Summary collapse

Methods inherited from BaseEvaluator

#call, #initialize

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/contains_evaluator.rb', line 6

def evaluate(run_item)
  keywords = options[:keywords] || extract_keywords_from_expected(run_item)
  return nil if keywords.blank?

  output = normalize_output(run_item.actual_output)
  return 0.0 if output.blank?

  matched = keywords.count { |kw| output.downcase.include?(kw.downcase) }
  matched.to_f / keywords.size
end