mj 0.8.0 → 0.9.0
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 +4 -4
- data/Gemfile.lock +41 -35
- data/README.md +14 -5
- data/lib/mj/alternative_file/resolver.rb +2 -4
- data/lib/mj/cli.rb +4 -0
- data/lib/mj/git/branches.rb +55 -0
- data/lib/mj/git/command_executer.rb +21 -0
- data/lib/mj/git/commands/checkout_command.rb +20 -0
- data/lib/mj/git/commands/checkout_command_handler.rb +55 -0
- data/lib/mj/git/local_branch.rb +25 -0
- data/lib/mj/git/remote_branch.rb +32 -0
- data/lib/mj/git/thor_command.rb +19 -0
- data/lib/mj/version.rb +1 -1
- data/mj.gemspec +2 -0
- metadata +37 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 40c3258afb7e8d688b06de487bb9286f0acb6999355a7156b099a77095206cc5
|
|
4
|
+
data.tar.gz: 301506dcf36dee5629e0912a6fd5d89e6d130f73daab6255a86aefc802e14763
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 32a385ff987a4ff7ebb24b4b4329bdbbe018194e976aea69c4dc650cf66679e690d609550f8be34a914adb480a82751241d1f4090921a8319176bcacb3a0c6c5
|
|
7
|
+
data.tar.gz: b2ef3335c6cab5e6d6da130755130f07b5e829dd1a703e6f4ecda2a5b8098a61c427d18a68923ff262a352b0ac7b15cbbc53b655a7211f0d0be891d2e51e75cf
|
data/Gemfile.lock
CHANGED
|
@@ -1,97 +1,101 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
mj (0.
|
|
4
|
+
mj (0.9.0)
|
|
5
|
+
colorize
|
|
5
6
|
koine-rest_client
|
|
6
7
|
mj-hash_utils
|
|
7
8
|
ruby-openai (~> 6.2.0)
|
|
8
9
|
thor (~> 1.2.1)
|
|
10
|
+
uri (~> 0.13.0)
|
|
9
11
|
|
|
10
12
|
GEM
|
|
11
13
|
remote: https://rubygems.org/
|
|
12
14
|
specs:
|
|
13
|
-
addressable (2.8.
|
|
14
|
-
public_suffix (>= 2.0.2, <
|
|
15
|
+
addressable (2.8.7)
|
|
16
|
+
public_suffix (>= 2.0.2, < 7.0)
|
|
15
17
|
ast (2.4.2)
|
|
16
18
|
awesome_print (1.9.2)
|
|
19
|
+
bigdecimal (3.1.8)
|
|
17
20
|
coderay (1.1.3)
|
|
21
|
+
colorize (1.1.0)
|
|
22
|
+
csv (3.3.0)
|
|
18
23
|
diff-lcs (1.5.1)
|
|
19
|
-
docile (1.4.
|
|
24
|
+
docile (1.4.1)
|
|
20
25
|
event_stream_parser (0.3.0)
|
|
21
|
-
faraday (2.
|
|
26
|
+
faraday (2.10.1)
|
|
22
27
|
faraday-net_http (>= 2.0, < 3.2)
|
|
28
|
+
logger
|
|
23
29
|
faraday-multipart (1.0.4)
|
|
24
30
|
multipart-post (~> 2)
|
|
25
|
-
faraday-net_http (3.1.
|
|
31
|
+
faraday-net_http (3.1.1)
|
|
26
32
|
net-http
|
|
27
|
-
httparty (0.
|
|
33
|
+
httparty (0.22.0)
|
|
34
|
+
csv
|
|
28
35
|
mini_mime (>= 1.0.0)
|
|
29
36
|
multi_xml (>= 0.5.2)
|
|
30
|
-
json (2.7.
|
|
37
|
+
json (2.7.2)
|
|
31
38
|
koine-rest_client (1.1.1)
|
|
32
39
|
addressable (>= 2.3)
|
|
33
40
|
httparty (>= 0.17.0)
|
|
34
41
|
koine-test_runner (0.4.0)
|
|
35
42
|
language_server-protocol (3.17.0.3)
|
|
36
|
-
|
|
43
|
+
logger (1.6.0)
|
|
44
|
+
method_source (1.1.0)
|
|
37
45
|
mini_mime (1.1.5)
|
|
38
46
|
mj-hash_utils (0.1.0)
|
|
39
|
-
multi_xml (0.
|
|
40
|
-
|
|
47
|
+
multi_xml (0.7.1)
|
|
48
|
+
bigdecimal (~> 3.1)
|
|
49
|
+
multipart-post (2.4.1)
|
|
41
50
|
net-http (0.4.1)
|
|
42
51
|
uri
|
|
43
|
-
parallel (1.
|
|
44
|
-
parser (3.3.
|
|
52
|
+
parallel (1.26.1)
|
|
53
|
+
parser (3.3.4.2)
|
|
45
54
|
ast (~> 2.4.1)
|
|
46
55
|
racc
|
|
47
56
|
pry (0.14.2)
|
|
48
57
|
coderay (~> 1.1)
|
|
49
58
|
method_source (~> 1.0)
|
|
50
|
-
public_suffix (
|
|
51
|
-
racc (1.
|
|
59
|
+
public_suffix (6.0.1)
|
|
60
|
+
racc (1.8.1)
|
|
52
61
|
rainbow (3.1.1)
|
|
53
|
-
rake (13.1
|
|
54
|
-
regexp_parser (2.9.
|
|
55
|
-
rexml (3.
|
|
62
|
+
rake (13.2.1)
|
|
63
|
+
regexp_parser (2.9.2)
|
|
64
|
+
rexml (3.3.4)
|
|
65
|
+
strscan
|
|
56
66
|
rspec (3.13.0)
|
|
57
67
|
rspec-core (~> 3.13.0)
|
|
58
68
|
rspec-expectations (~> 3.13.0)
|
|
59
69
|
rspec-mocks (~> 3.13.0)
|
|
60
70
|
rspec-core (3.13.0)
|
|
61
71
|
rspec-support (~> 3.13.0)
|
|
62
|
-
rspec-expectations (3.13.
|
|
72
|
+
rspec-expectations (3.13.1)
|
|
63
73
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
64
74
|
rspec-support (~> 3.13.0)
|
|
65
|
-
rspec-mocks (3.13.
|
|
75
|
+
rspec-mocks (3.13.1)
|
|
66
76
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
67
77
|
rspec-support (~> 3.13.0)
|
|
68
78
|
rspec-support (3.13.1)
|
|
69
|
-
rubocop (1.
|
|
79
|
+
rubocop (1.65.1)
|
|
70
80
|
json (~> 2.3)
|
|
71
81
|
language_server-protocol (>= 3.17.0)
|
|
72
82
|
parallel (~> 1.10)
|
|
73
83
|
parser (>= 3.3.0.2)
|
|
74
84
|
rainbow (>= 2.2.2, < 4.0)
|
|
75
|
-
regexp_parser (>=
|
|
85
|
+
regexp_parser (>= 2.4, < 3.0)
|
|
76
86
|
rexml (>= 3.2.5, < 4.0)
|
|
77
87
|
rubocop-ast (>= 1.31.1, < 2.0)
|
|
78
88
|
ruby-progressbar (~> 1.7)
|
|
79
89
|
unicode-display_width (>= 2.4.0, < 3.0)
|
|
80
|
-
rubocop-ast (1.
|
|
81
|
-
parser (>= 3.3.0
|
|
82
|
-
rubocop-
|
|
83
|
-
rubocop (~> 1.41)
|
|
84
|
-
rubocop-factory_bot (2.25.1)
|
|
85
|
-
rubocop (~> 1.41)
|
|
86
|
-
rubocop-performance (1.20.2)
|
|
90
|
+
rubocop-ast (1.32.0)
|
|
91
|
+
parser (>= 3.3.1.0)
|
|
92
|
+
rubocop-performance (1.21.1)
|
|
87
93
|
rubocop (>= 1.48.1, < 2.0)
|
|
88
|
-
rubocop-ast (>= 1.
|
|
94
|
+
rubocop-ast (>= 1.31.1, < 2.0)
|
|
89
95
|
rubocop-rake (0.6.0)
|
|
90
96
|
rubocop (~> 1.0)
|
|
91
|
-
rubocop-rspec (
|
|
92
|
-
rubocop (~> 1.
|
|
93
|
-
rubocop-capybara (~> 2.17)
|
|
94
|
-
rubocop-factory_bot (~> 2.22)
|
|
97
|
+
rubocop-rspec (3.0.4)
|
|
98
|
+
rubocop (~> 1.61)
|
|
95
99
|
ruby-openai (6.2.0)
|
|
96
100
|
event_stream_parser (>= 0.3.0, < 1.0.0)
|
|
97
101
|
faraday (>= 1)
|
|
@@ -104,11 +108,13 @@ GEM
|
|
|
104
108
|
simplecov-html (0.12.3)
|
|
105
109
|
simplecov-lcov (0.8.0)
|
|
106
110
|
simplecov_json_formatter (0.1.4)
|
|
111
|
+
strscan (3.1.0)
|
|
107
112
|
thor (1.2.2)
|
|
108
113
|
unicode-display_width (2.5.0)
|
|
109
114
|
uri (0.13.0)
|
|
110
115
|
|
|
111
116
|
PLATFORMS
|
|
117
|
+
arm64-darwin-23
|
|
112
118
|
ruby
|
|
113
119
|
|
|
114
120
|
DEPENDENCIES
|
|
@@ -127,4 +133,4 @@ DEPENDENCIES
|
|
|
127
133
|
uri (~> 0.13)
|
|
128
134
|
|
|
129
135
|
BUNDLED WITH
|
|
130
|
-
2.
|
|
136
|
+
2.5.17
|
data/README.md
CHANGED
|
@@ -16,11 +16,11 @@ gem 'mj'
|
|
|
16
16
|
|
|
17
17
|
And then execute:
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
bundle install
|
|
20
20
|
|
|
21
21
|
Or install it yourself as:
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
gem install mj
|
|
24
24
|
|
|
25
25
|
## Usage
|
|
26
26
|
|
|
@@ -28,10 +28,21 @@ Or install it yourself as:
|
|
|
28
28
|
mj help
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
+
### Git
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
bundle exec mj git checkout partial-branch-name # it will create a local branch if that is remote only
|
|
35
|
+
bundle exec mj git checkout partial-branch-name --dry-run # if you want to see the command before executing
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
|
|
31
40
|
### ChatGPT
|
|
32
41
|
|
|
33
42
|
```
|
|
43
|
+
|
|
34
44
|
bundle exec mj chatgpt ask "Who won the World Cup in 1994?" --request-file samples/chatgpt/football-team.yml | jq
|
|
45
|
+
|
|
35
46
|
```
|
|
36
47
|
|
|
37
48
|
Where the config file looks like:
|
|
@@ -113,7 +124,6 @@ query QueryAccountUsers(
|
|
|
113
124
|
}
|
|
114
125
|
```
|
|
115
126
|
|
|
116
|
-
|
|
117
127
|
### Alternative file
|
|
118
128
|
|
|
119
129
|
Examples:
|
|
@@ -180,7 +190,6 @@ end
|
|
|
180
190
|
|
|
181
191
|
This way I can use `<leader>a{direction}`, where `k` is `next`, and `j` is `previous` alternative file.
|
|
182
192
|
|
|
183
|
-
|
|
184
193
|
## Development
|
|
185
194
|
|
|
186
195
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
|
@@ -189,7 +198,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
|
189
198
|
|
|
190
199
|
## Contributing
|
|
191
200
|
|
|
192
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/mjacobus/mj
|
|
201
|
+
Bug reports and pull requests are welcome on GitHub at <https://github.com/mjacobus/mj>. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/mjacobus/mj/blob/main/CODE_OF_CONDUCT.md).
|
|
193
202
|
|
|
194
203
|
## License
|
|
195
204
|
|
|
@@ -13,10 +13,8 @@ module Mj
|
|
|
13
13
|
|
|
14
14
|
def resolve(file)
|
|
15
15
|
file = AlternativeFile::CurrentFile.new(file.to_s)
|
|
16
|
-
resolved =
|
|
17
|
-
|
|
18
|
-
@stack.each do |resolver|
|
|
19
|
-
resolved.push(resolver.resolve(file))
|
|
16
|
+
resolved = @stack.map do |resolver|
|
|
17
|
+
resolver.resolve(file)
|
|
20
18
|
end
|
|
21
19
|
|
|
22
20
|
AlternativeFile::Candidates.new(resolved.flatten.compact)
|
data/lib/mj/cli.rb
CHANGED
|
@@ -5,6 +5,7 @@ require_relative "version"
|
|
|
5
5
|
require_relative "alternative_file/thor_command"
|
|
6
6
|
require_relative "graphql/thor_command"
|
|
7
7
|
require_relative "chatgpt/thor_command"
|
|
8
|
+
require_relative "git/thor_command"
|
|
8
9
|
|
|
9
10
|
module Mj
|
|
10
11
|
class Cli < Thor
|
|
@@ -25,5 +26,8 @@ module Mj
|
|
|
25
26
|
|
|
26
27
|
desc "chatgpt", "CLI client for ChatGPT"
|
|
27
28
|
subcommand "chatgpt", ChatGpt::ThorCommand
|
|
29
|
+
|
|
30
|
+
desc "git", "Git utilities"
|
|
31
|
+
subcommand "git", Git::ThorCommand
|
|
28
32
|
end
|
|
29
33
|
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "local_branch"
|
|
4
|
+
require_relative "remote_branch"
|
|
5
|
+
|
|
6
|
+
module Mj
|
|
7
|
+
module Git
|
|
8
|
+
class Branches
|
|
9
|
+
include Enumerable
|
|
10
|
+
|
|
11
|
+
def self.from_branch_names(branch_names)
|
|
12
|
+
branches = branch_names.map do |branch|
|
|
13
|
+
branch = branch.sub("*", "").strip
|
|
14
|
+
|
|
15
|
+
if branch.start_with?("remotes/")
|
|
16
|
+
next RemoteBranch.new(branch)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
next LocalBranch.new(branch)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
new(branches)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def to_local
|
|
26
|
+
self.class.new(map(&:to_local))
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def uniq
|
|
30
|
+
branches = {}
|
|
31
|
+
each do |branch|
|
|
32
|
+
branches[branch.name] ||= branch
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
self.class.new(branches.values)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def initialize(branches)
|
|
39
|
+
@branches = branches
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def each(&block)
|
|
43
|
+
@branches.each(&block)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def length
|
|
47
|
+
@branches.length
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def matching(pattern)
|
|
51
|
+
self.class.new(@branches.select { |branch| branch.name.match?(pattern) })
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "open3"
|
|
4
|
+
|
|
5
|
+
module Mj
|
|
6
|
+
module Git
|
|
7
|
+
class CommandExecuter
|
|
8
|
+
Error = Class.new(RuntimeError)
|
|
9
|
+
|
|
10
|
+
def execute(command)
|
|
11
|
+
stdout_str, stderr_str, status = Open3.capture3(command)
|
|
12
|
+
|
|
13
|
+
if status.success?
|
|
14
|
+
return stdout_str.split("\n")
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
raise Error, "Command '#{command}' exited with (#{status.exitstatus}): #{stderr_str.strip}"
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mj
|
|
4
|
+
module Git
|
|
5
|
+
module Commands
|
|
6
|
+
class CheckoutCommand
|
|
7
|
+
attr_reader :branch
|
|
8
|
+
|
|
9
|
+
def initialize(branch:, options: {})
|
|
10
|
+
@branch = branch
|
|
11
|
+
@options = options
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def dry_run?
|
|
15
|
+
@options[:dry_run]
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "../branches"
|
|
4
|
+
require "colorize"
|
|
5
|
+
|
|
6
|
+
module Mj
|
|
7
|
+
module Git
|
|
8
|
+
module Commands
|
|
9
|
+
class CheckoutCommandHandler
|
|
10
|
+
def initialize(stdout:, command_executer: CommandExecuter.new)
|
|
11
|
+
@stdout = stdout
|
|
12
|
+
@command_executer = command_executer
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def handle(command)
|
|
16
|
+
branches = @command_executer.execute("git branch -a")
|
|
17
|
+
branches = Git::Branches.from_branch_names(branches).matching(command.branch)
|
|
18
|
+
|
|
19
|
+
if branches.to_local.uniq.length > 1
|
|
20
|
+
warn_multiple_matches(branches)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
winner = branches.min_by(&:length)
|
|
24
|
+
|
|
25
|
+
puts(winner.checkout_command, color: :green)
|
|
26
|
+
|
|
27
|
+
if command.dry_run?
|
|
28
|
+
return
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
@command_executer.execute(winner.checkout_command)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
private
|
|
35
|
+
|
|
36
|
+
def warn_multiple_matches(branches)
|
|
37
|
+
puts("Multiple branches found:", color: :blue)
|
|
38
|
+
|
|
39
|
+
branches.each do |branch|
|
|
40
|
+
puts("\t#{branch.name}", color: :yellow)
|
|
41
|
+
end
|
|
42
|
+
puts("\n")
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def puts(string, color: nil)
|
|
46
|
+
if color
|
|
47
|
+
string = string.colorize(color)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
@stdout.puts(string)
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mj
|
|
4
|
+
module Git
|
|
5
|
+
class LocalBranch
|
|
6
|
+
attr_reader :name
|
|
7
|
+
|
|
8
|
+
def initialize(name)
|
|
9
|
+
@name = name
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def length
|
|
13
|
+
@name.length
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def checkout_command
|
|
17
|
+
"git checkout #{name}"
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def to_local
|
|
21
|
+
self
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mj
|
|
4
|
+
module Git
|
|
5
|
+
class RemoteBranch
|
|
6
|
+
attr_reader :name
|
|
7
|
+
|
|
8
|
+
def initialize(name)
|
|
9
|
+
@name = name
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def checkout_command
|
|
13
|
+
"git checkout -b #{local_branch_name} #{name}"
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def length
|
|
17
|
+
@name.length
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def to_local
|
|
21
|
+
LocalBranch.new(local_branch_name)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
private
|
|
25
|
+
|
|
26
|
+
def local_branch_name
|
|
27
|
+
pattern = %r{^remotes/\w+/}
|
|
28
|
+
name.sub(pattern, "")
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "commands/checkout_command_handler"
|
|
4
|
+
require_relative "commands/checkout_command"
|
|
5
|
+
require_relative "command_executer"
|
|
6
|
+
|
|
7
|
+
module Mj
|
|
8
|
+
module Git
|
|
9
|
+
class ThorCommand < Thor
|
|
10
|
+
desc "checkout <branch>", "Partial branch"
|
|
11
|
+
option :dry_run, type: :boolean, banner: "Just outputs, does not checkout", aliases: :d
|
|
12
|
+
def checkout(branch)
|
|
13
|
+
command = Commands::CheckoutCommand.new(branch: branch, options: options)
|
|
14
|
+
handler = Commands::CheckoutCommandHandler.new(stdout: $stdout)
|
|
15
|
+
handler.handle(command)
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
data/lib/mj/version.rb
CHANGED
data/mj.gemspec
CHANGED
|
@@ -31,10 +31,12 @@ Gem::Specification.new do |spec|
|
|
|
31
31
|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
|
32
32
|
spec.require_paths = ["lib"]
|
|
33
33
|
|
|
34
|
+
spec.add_dependency "colorize"
|
|
34
35
|
spec.add_dependency "koine-rest_client"
|
|
35
36
|
spec.add_dependency "mj-hash_utils"
|
|
36
37
|
spec.add_dependency "ruby-openai", "~> 6.2.0"
|
|
37
38
|
spec.add_dependency "thor", "~> 1.2.1"
|
|
39
|
+
spec.add_dependency "uri", "~> 0.13.0"
|
|
38
40
|
|
|
39
41
|
# For more information and examples about making a new gem, check out our
|
|
40
42
|
# guide at: https://bundler.io/guides/creating_gem.html
|
metadata
CHANGED
|
@@ -1,15 +1,29 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mj
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.9.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Marcelo Jacobus
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2024-
|
|
11
|
+
date: 2024-08-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: colorize
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '0'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - ">="
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '0'
|
|
13
27
|
- !ruby/object:Gem::Dependency
|
|
14
28
|
name: koine-rest_client
|
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -66,6 +80,20 @@ dependencies:
|
|
|
66
80
|
- - "~>"
|
|
67
81
|
- !ruby/object:Gem::Version
|
|
68
82
|
version: 1.2.1
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: uri
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - "~>"
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: 0.13.0
|
|
90
|
+
type: :runtime
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - "~>"
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: 0.13.0
|
|
69
97
|
description: A collection of useful commands for my personal use
|
|
70
98
|
email:
|
|
71
99
|
- marcelo.jacobus@gmail.com
|
|
@@ -105,6 +133,13 @@ files:
|
|
|
105
133
|
- lib/mj/chatgpt/request.rb
|
|
106
134
|
- lib/mj/chatgpt/thor_command.rb
|
|
107
135
|
- lib/mj/cli.rb
|
|
136
|
+
- lib/mj/git/branches.rb
|
|
137
|
+
- lib/mj/git/command_executer.rb
|
|
138
|
+
- lib/mj/git/commands/checkout_command.rb
|
|
139
|
+
- lib/mj/git/commands/checkout_command_handler.rb
|
|
140
|
+
- lib/mj/git/local_branch.rb
|
|
141
|
+
- lib/mj/git/remote_branch.rb
|
|
142
|
+
- lib/mj/git/thor_command.rb
|
|
108
143
|
- lib/mj/graphql/client.rb
|
|
109
144
|
- lib/mj/graphql/commands/query_file_command.rb
|
|
110
145
|
- lib/mj/graphql/commands/query_file_command_handler.rb
|