Class: CodeReviewAi::Client
- Inherits:
-
Object
- Object
- CodeReviewAi::Client
- Defined in:
- lib/code_review_ai/client/utils.rb,
lib/code_review_ai/client/initialize.rb,
lib/code_review_ai/client/code_review.rb,
lib/code_review_ai/client/branch_summary.rb
Instance Method Summary collapse
-
#conduct_code_review ⇒ String
Conduct an AI-powered code review on the current branch Analyzes git diff and generates review comments using OpenAI.
- #generate_branch_summary ⇒ Object
-
#initialize(api_token, ai_model, language) ⇒ Client
constructor
Initialize a new CodeReviewAi client.
Constructor Details
#initialize(api_token, ai_model, language) ⇒ Client
Initialize a new CodeReviewAi client
10 11 12 13 14 |
# File 'lib/code_review_ai/client/initialize.rb', line 10 def initialize(api_token, ai_model, language) @client = create_openai_client(api_token) @ai_model = ai_model @language = language end |
Instance Method Details
#conduct_code_review ⇒ String
Conduct an AI-powered code review on the current branch Analyzes git diff and generates review comments using OpenAI
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/code_review_ai/client/code_review.rb', line 11 def conduct_code_review prompt = generate_prompt(CodeReviewAi::Prompts::CODE_REVIEW_TEMPLATE, @language) response = @client.chat( parameters: { model: @ai_model, messages: [ { role: 'system', content: 'You are an assistant generating code review comments based on repository changes.' }, { role: 'user', content: prompt } ] } ) code_review_comments = process_response(response) apply_code_review_comments(code_review_comments) rescue StandardError => e "Error communicating with OpenAI API: #{e.message}" end |
#generate_branch_summary ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/code_review_ai/client/branch_summary.rb', line 7 def generate_branch_summary prompt = generate_prompt(CodeReviewAi::Prompts::BRANCH_SUMMARY_TEMPLATE, @language) response = @client.chat( parameters: { model: @ai_model, messages: [ { role: 'system', content: 'You are an assistant summarizing git branch changes clearly and concisely.' }, { role: 'user', content: prompt } ] } ) summary = process_response(response) puts summary rescue StandardError => e "Error generating branch summary: #{e.message}" end |