Class: CommitMsgAi::Client
- Inherits:
-
Object
- Object
- CommitMsgAi::Client
- Defined in:
- lib/commit_msg_ai.rb
Overview
This class interacts with the Commit Message AI service to process and generate meaningful commit messages based on staged changes in the repository.
Instance Method Summary collapse
- #generate_commit_message(diff) ⇒ Object
-
#initialize(api_token) ⇒ Client
constructor
A new instance of Client.
Constructor Details
#initialize(api_token) ⇒ Client
Returns a new instance of Client.
12 13 14 15 16 17 |
# File 'lib/commit_msg_ai.rb', line 12 def initialize(api_token) @client = OpenAI::Client.new( access_token: api_token, log_errors: true ) end |
Instance Method Details
#generate_commit_message(diff) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/commit_msg_ai.rb', line 19 def (diff) prompt = generate_prompt(diff) response = @client.chat( parameters: { model: 'gpt-3.5-turbo-0125', messages: [ { role: 'system', content: 'You are an assistant generating Git commit messages.' }, { role: 'user', content: prompt } ] } ) response.dig('choices', 0, 'message', 'content') || 'Error: Unable to generate commit message.' rescue StandardError => e "Error communicating with OpenAI API: #{e.}" end |