Class: CompletionKit::Review

Inherits:
ApplicationRecord show all
Includes:
HasJobStatus
Defined in:
app/models/completion_kit/review.rb

Constant Summary

Constants included from HasJobStatus

HasJobStatus::STATUSES, HasJobStatus::TERMINAL_STATUSES

Constants inherited from ApplicationRecord

ApplicationRecord::TenantScopedUniquenessValidator

Instance Method Summary collapse

Methods included from HasJobStatus

#error_payload, #succeeded?, #terminal?

Instance Method Details

#as_json(options = {}) ⇒ Object



25
26
27
28
29
30
31
32
33
# File 'app/models/completion_kit/review.rb', line 25

def as_json(options = {})
  {
    id: id, response_id: response_id, metric_id: metric_id,
    metric_version_id: metric_version_id,
    metric_name: metric_name, ai_score: ai_score,
    ai_feedback: ai_feedback, status: status, attempts: attempts,
    error: error_payload
  }
end

#stale_against_current_judge?Boolean

Returns:

  • (Boolean)


18
19
20
21
22
23
# File 'app/models/completion_kit/review.rb', line 18

def stale_against_current_judge?
  return false unless metric_id && metric_version_id
  current_id = MetricVersion.current.where(metric_id: metric_id).limit(1).pick(:id)
  return false if current_id.nil?
  metric_version_id != current_id
end