commit_ai 0.2.0 → 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: 129b030b1c188414e7b7c6bbdff473433185e1d0a61bab5c4a161598def6280a
4
- data.tar.gz: 0dce0887496b90ed4f8ad9b5c3e1225fa230cc6fe445a0a232c38998503560a6
3
+ metadata.gz: aaae884c1dfa64f73d5cb60e2a0a3a6e75b47d6e50d37903a8b07b05fb03854a
4
+ data.tar.gz: 031b8944226fb4dc66008112fe05a00cccac08ae099b8df3cfbd11b187b3882d
5
5
  SHA512:
6
- metadata.gz: 10fc57e0ec0294f3dbdace2f37a339f728792dbbe69c3af0116e0f93edfc455dcecaa4a59e3cc840711b26894e27f4119152ff0cce56b4e55e8ea4993e55dfe2
7
- data.tar.gz: 7ca358b753565846326094d512ab70f4293e18d3c3c37f8c77f33d3b7d6cc473cb43e4a47eb233867f8d70a5fe0812184cba8c91b4ce3bc88b00abc6fb2dfbf7
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.2.0"
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,41 +11,41 @@ class CommitAI
10
11
  diff = `git diff -U10 --staged`
11
12
 
12
13
  if diff.empty?
13
- puts colorize("No changes to commit. No need to proceed.", 31)
14
+ puts "No changes to commit. No need to proceed.".colorize(:red)
14
15
  return
15
16
  end
16
17
 
17
- puts colorize("Please provide a brief description of the change made (optional):", 36)
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 colorize("Do you want a multi-line commit message? (y/n) (optional):", 36)
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
 
24
25
  commit_message = generate_commit_message(diff, message_style, user_description)
25
26
  loop do
26
- puts colorize("\nGenerated Commit Message:\n#{commit_message}", 32)
27
+ puts "\nGenerated Commit Message:\n#{commit_message}".colorize(:green)
27
28
  puts ""
28
- puts colorize("Do you want to proceed with the commit? (y/n), regenerate (r), or edit (e):", 36)
29
+ puts "Do you want to proceed with the commit? (y/n), regenerate (r), or edit (e):".colorize(:cyan)
29
30
  response = STDIN.gets.chomp
30
31
  case response.downcase
31
32
  when 'y'
32
33
  system("git commit -m '#{commit_message}'")
33
- puts colorize("Commit successful!", 32)
34
+ puts "Commit successful!".colorize(:green)
34
35
  break
35
36
  when 'r'
36
37
  commit_message = generate_commit_message(diff, message_style, user_description)
37
- puts colorize("Regenerating commit message...", 33)
38
+ puts "Regenerating commit message...".colorize(:yellow)
38
39
  next
39
40
  when 'e'
40
41
  system("git commit -m '#{commit_message}' -e")
41
- puts colorize("Commit successful after editing!", 32)
42
+ puts "Commit successful after editing!".colorize(:green)
42
43
  break
43
44
  when 'n'
44
- puts colorize("Commit aborted. No changes committed.", 31)
45
+ puts "Commit aborted. No changes committed.".colorize(:red)
45
46
  break
46
47
  else
47
- puts colorize("Invalid input. Please try again.", 31)
48
+ puts "Invalid input. Please try again.".colorize(:red)
48
49
  puts ""
49
50
  next
50
51
  end
@@ -116,8 +117,4 @@ class CommitAI
116
117
 
117
118
  minified_diff.join
118
119
  end
119
-
120
- def colorize(text, color_code)
121
- "\e[#{color_code}m#{text}\e[0m"
122
- end
123
120
  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.2.0
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