Class: CompletionKit::Review

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

Constant Summary collapse

STATUSES =
%w[pending retrying succeeded failed].freeze
TERMINAL_STATUSES =
%w[succeeded failed].freeze

Constants inherited from ApplicationRecord

ApplicationRecord::TenantScopedUniquenessValidator

Instance Method Summary collapse

Instance Method Details

#as_json(options = {}) ⇒ Object



28
29
30
31
32
33
34
35
# File 'app/models/completion_kit/review.rb', line 28

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

#error_payloadObject



23
24
25
26
# File 'app/models/completion_kit/review.rb', line 23

def error_payload
  return nil if error_class.blank?
  { provider: error_provider, class: error_class, status: error_status, message: error_message }
end

#succeeded?Boolean

Returns:

  • (Boolean)


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

def succeeded?
  status == "succeeded"
end

#terminal?Boolean

Returns:

  • (Boolean)


15
16
17
# File 'app/models/completion_kit/review.rb', line 15

def terminal?
  TERMINAL_STATUSES.include?(status)
end