Class: CompletionKit::Review
Constant Summary
collapse
- STATUSES =
%w[pending retrying succeeded failed].freeze
- TERMINAL_STATUSES =
%w[succeeded failed].freeze
ApplicationRecord::TenantScopedUniquenessValidator
Instance Method Summary
collapse
Instance Method Details
#as_json(options = {}) ⇒ Object
37
38
39
40
41
42
43
44
45
|
# File 'app/models/completion_kit/review.rb', line 37
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
|
#error_payload ⇒ Object
32
33
34
35
|
# File 'app/models/completion_kit/review.rb', line 32
def error_payload
return nil if error_class.blank?
{ provider: error_provider, class: error_class, status: error_status, message: error_message }
end
|
#stale_against_current_judge? ⇒ Boolean
11
12
13
14
15
16
|
# File 'app/models/completion_kit/review.rb', line 11
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
|
#succeeded? ⇒ Boolean
28
29
30
|
# File 'app/models/completion_kit/review.rb', line 28
def succeeded?
status == "succeeded"
end
|
#terminal? ⇒ Boolean
24
25
26
|
# File 'app/models/completion_kit/review.rb', line 24
def terminal?
TERMINAL_STATUSES.include?(status)
end
|