Class: CompletionKit::CheckReviewJob

Inherits:
ApplicationJob show all
Defined in:
app/jobs/completion_kit/check_review_job.rb

Instance Method Summary collapse

Instance Method Details

#perform(response_id, metric_id, run_id = nil) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'app/jobs/completion_kit/check_review_job.rb', line 11

def perform(response_id, metric_id, run_id = nil)
  @response_id = response_id
  @metric_id = metric_id
  @run_id = run_id

  response = Response.find(response_id)
  metric = Metric.find(metric_id)
  result = evaluate(response, metric.check_config || {})

  review = response.reviews.find_or_initialize_by(metric_id: metric.id)
  current_metric_version = MetricVersion.ensure_current_for(metric)
  review.assign_attributes(
    metric_name: metric.name,
    metric_version_id: current_metric_version.id,
    status: "succeeded",
    passed: result.passed,
    ai_score: nil,
    ai_feedback: result.detail,
    error_provider: nil, error_class: nil, error_status: nil, error_message: nil
  )
  review.save!

  enqueue_completion_check
end