Class: CoPlan::AutomatedReviewJob

Inherits:
ApplicationJob show all
Defined in:
app/jobs/coplan/automated_review_job.rb

Instance Method Summary collapse

Instance Method Details

#perform(plan_id:, reviewer_id:, plan_version_id:, triggered_by: nil) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
# File 'app/jobs/coplan/automated_review_job.rb', line 8

def perform(plan_id:, reviewer_id:, plan_version_id:, triggered_by: nil)
  plan = Plan.find(plan_id)
  reviewer = AutomatedPlanReviewer.find(reviewer_id)
  version = PlanVersion.find(plan_version_id)

  return unless reviewer.enabled?

  response = call_ai_provider(reviewer, version.content_markdown)
  feedback_items = Plans::ReviewResponseParser.call(response, plan_content: version.content_markdown)

  create_review_comments(plan, version, reviewer, feedback_items, triggered_by)
end