commit_ai 0.1.9 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 163dcacd836441ac91cfa6903ab7795889e9db51562cbc9055bc1cddc3998dca
4
- data.tar.gz: 489a51e90bad0f1901cc751c95545e9dbb2491e72811f7773062ad8f86dd3cea
3
+ metadata.gz: aaae884c1dfa64f73d5cb60e2a0a3a6e75b47d6e50d37903a8b07b05fb03854a
4
+ data.tar.gz: 031b8944226fb4dc66008112fe05a00cccac08ae099b8df3cfbd11b187b3882d
5
5
  SHA512:
6
- metadata.gz: '010013338f7f4be32cb1a05920fa6749a953c9c15d29da3a396884baaf694ba6fd1456ab2ff9a75845f7a38938f5b0f4d58c7275a5f2074ebbe462bab3a4e22f'
7
- data.tar.gz: b6686fd820b574f4c66458abe2686b9cc168dc4c13190c19035c938e87db91ffa4a3771bd7803e7dea23ea3741081ed059fd58b9c2019934da6581cde90bcf28
6
+ metadata.gz: e7ffa87f9b280368f7b2b2618a620e91d57c0074c5a0c168336e8afd3963a82ed811f33af435a8c8112a32d72d882588958df4be732f43153256997727ce9bbf
7
+ data.tar.gz: d78e04f66ea63f02927990f6a8ab9337d4dd7e95af51e4490ab76a192cd00b2c62315c2fcad1aa7115fb1506414938215e90430dd7c6eb9b45e957669864799a
data/exe/commit_ai CHANGED
@@ -4,9 +4,10 @@
4
4
  $LOAD_PATH.unshift(File.expand_path('../lib', __dir__))
5
5
 
6
6
  require 'commit_ai'
7
+ require 'colorize'
7
8
 
8
9
  if ENV['OPENAI_ACCESS_TOKEN'].nil?
9
- puts "OPENAI_ACCESS_TOKEN is not set. Please set it in your environment variables."
10
+ puts "OPENAI_ACCESS_TOKEN is not set. Please set it in your environment variables.".colorize(:red)
10
11
  exit
11
12
  end
12
13
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CommitAi
4
- VERSION = "0.1.9"
4
+ VERSION = "0.2.1"
5
5
  end
data/lib/commit_ai.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'openai'
2
+ require 'colorize'
2
3
 
3
4
  class CommitAI
4
5
  def initialize
@@ -10,34 +11,43 @@ class CommitAI
10
11
  diff = `git diff -U10 --staged`
11
12
 
12
13
  if diff.empty?
13
- puts "No changes to commit."
14
+ puts "No changes to commit. No need to proceed.".colorize(:red)
14
15
  return
15
16
  end
16
17
 
17
- puts "Please provide a brief description of the change made (optional): "
18
+ puts "Please provide a brief description of the change made (optional):".colorize(:cyan)
18
19
  user_description = STDIN.gets.chomp
19
20
 
20
- puts "Do you want a multi-line commit message? (y/n) (optional): "
21
+ puts "Do you want a multi-line commit message? (y/n) (optional):".colorize(:cyan)
21
22
  message_style_input = STDIN.gets.chomp.downcase
22
23
  message_style = message_style_input == 'y' ? 'multi' : 'single'
23
24
 
25
+ commit_message = generate_commit_message(diff, message_style, user_description)
24
26
  loop do
25
- commit_message = generate_commit_message(diff, message_style, user_description)
26
- puts "Generated Commit Message:\n#{commit_message}"
27
- print "Do you want to proceed with the commit? (y/n), regenerate (r), or edit (e): "
27
+ puts "\nGenerated Commit Message:\n#{commit_message}".colorize(:green)
28
+ puts ""
29
+ puts "Do you want to proceed with the commit? (y/n), regenerate (r), or edit (e):".colorize(:cyan)
28
30
  response = STDIN.gets.chomp
29
31
  case response.downcase
30
32
  when 'y'
31
33
  system("git commit -m '#{commit_message}'")
34
+ puts "Commit successful!".colorize(:green)
32
35
  break
33
36
  when 'r'
37
+ commit_message = generate_commit_message(diff, message_style, user_description)
38
+ puts "Regenerating commit message...".colorize(:yellow)
34
39
  next
35
40
  when 'e'
36
41
  system("git commit -m '#{commit_message}' -e")
42
+ puts "Commit successful after editing!".colorize(:green)
37
43
  break
38
- else
39
- puts "Commit aborted."
44
+ when 'n'
45
+ puts "Commit aborted. No changes committed.".colorize(:red)
40
46
  break
47
+ else
48
+ puts "Invalid input. Please try again.".colorize(:red)
49
+ puts ""
50
+ next
41
51
  end
42
52
  end
43
53
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: commit_ai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ken Vitug
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-10-05 00:00:00.000000000 Z
11
+ date: 2024-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby-openai
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: colorize
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  description: Commit AI automates the generation of insightful single-line and multi-line
28
42
  commit messages by analyzing staged git diffs with OpenAI's advanced language models.
29
43
  It allows users to provide optional change descriptions for better context, and