G4t 1.2 → 2.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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/bin/g4t +1 -0
  3. data/lib/g4t.rb +40 -174
  4. metadata +4 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0eb50b9d743bafdb52b1f019a4107a781219cd23d467cf354a7d8b8d8e8dd79c
4
- data.tar.gz: cbd38159c733eb4ace0e41ae24eba74172fe3ab5b458a6f9ed24ef79f90a3d8c
3
+ metadata.gz: 3444e27ffa161b5177255951d95af8d36a6ab092e16999750f658e28c31004d6
4
+ data.tar.gz: e346503def345173e3a349eb4f68e935e286be17ce575d9b91c0f4770fc4d8e0
5
5
  SHA512:
6
- metadata.gz: 70225a899f1bc5618adc1065ef970fc41017f7571f1e196e9f3c198cad02cb56ed9cf7901360551c6b8ec7f36d0e08a51eb95c21d52171408914abce8d987096
7
- data.tar.gz: 292cef5792293f97f442260a68a036afff56155ce4febbaf3027940799e3eb3ac7c766420e48567b470979baa25781a69f97fa771c98280a3699c98abc86c8a2
6
+ metadata.gz: dc57f81f30d916d78d865ad02ccb8b394d8c273ce6e8fce5f5ba4981e51d80a94567c24f50b9f208cb00d740a4cfcf5a9033f64e7ba4df778571fa3a67c8503a
7
+ data.tar.gz: e0507409baafae6d26821b61528501c428b433940ecca33ce92f796bc14d160cd42a479aff3fc685cd73d0d7b6c76a6d3b39d732e7ad1877f067adfbbee13899
data/bin/g4t CHANGED
@@ -1,2 +1,3 @@
1
1
  #!/usr/bin/env ruby
2
+
2
3
  require "g4t"
data/lib/g4t.rb CHANGED
@@ -2,154 +2,32 @@
2
2
  # frozen_string_literal: true
3
3
  require "os"
4
4
  require "tty-prompt"
5
+
6
+ require_relative "g4tOptions"
5
7
  require "etc"
6
8
 
7
9
  module G4t
8
- class Options
9
- def initialize
10
- $prompt = TTY::Prompt.new
11
- end
12
- def commit_files
13
- $lastmsg = "Now that we commited the files"
14
- msg = $prompt.ask("Commit message:")
15
-
16
- if msg[0] != "\""
17
- msg = "\"#{msg}"
18
- end
19
-
20
- if msg[-1] != "\""
21
- msg = "#{msg}\""
22
- end
23
-
24
- puts msg
25
- run_command("git commit -m #{msg}")
26
- end
27
-
28
- def add_files
29
- $lastmsg = "Now that we added the files"
30
- all_files = $prompt.yes?("Add all files?")
31
- if all_files
32
- cmd = "git add ."
33
- puts("Adding all files...")
34
- else
35
- fname = $prompt.ask("File to add:")
36
- cmd = "git add #{fname}"
37
- end
38
- run_command(cmd)
39
- end
40
-
41
- def logs
42
- run_command("git log")
43
- end
44
-
45
- def push_branch
46
- branch = $prompt.ask("Branch to push:")
47
- run_command("git push origin #{branch}")
48
- end
49
-
50
- def remote_adress
51
- $lastmsg = "Now that we the remote address"
52
- uname = $prompt.ask("Your github username:")
53
- repo = $prompt.ask("Your repository name:")
54
- puts("Adding remote repository https://github.com/#{uname}/#{repo}...")
55
- run_command("git remote add origin https://github.com/#{uname}/#{repo}.git")
56
- end
57
-
58
- def status
59
- run_command("git status")
60
- end
61
-
62
- def clone_repo
63
- uname = $prompt.ask("Username:")
64
- repo = $prompt.ask("Repository name:")
65
- run_command("git clone https://github.com/#{uname}/#{repo}/")
66
- end
67
-
68
- def restore
69
- fname = $prompt.ask("File name:")
70
- run_command("git restore #{fname}")
71
- end
72
-
73
- def reset
74
- commit = $prompt.ask("Commit id:")
75
- run_command("git reset --hard #{commit}")
76
- end
77
-
78
- def hard_reset
79
- confirmation = $prompt.yes?("do you really want to hard reset?")
80
-
81
- if confirmation
82
- run_command("git reset --hard HEAD~")
83
- else
84
- puts "Cancelling operation"
85
- end
86
-
87
- end
88
-
89
- def initialize_git
90
- $lastmsg = "Now that we initialized .git"
91
- puts("Initializing Git repository in '#{Dir.pwd}/.git'...")
92
- run_command("git init")
93
- end
94
-
95
- def diff
96
- run_command("git diff")
97
- end
98
-
99
- def change_branch
100
- bname = $prompt.ask("Branch name:")
101
- run_command("git checkout -b #{bname}")
102
- end
103
-
104
- def git_info
105
- status = {
106
- "Git branch" => IO.popen("git branch"),
107
- "Repository url" => IO.popen("git config --get remote.origin.url")
108
- }
109
- status.each do |k, v|
110
- puts("#{k}: #{v.read}")
111
- end
112
- puts("____________\n\n")
113
- end
114
-
115
- def remove_file
116
- file_name = $prompt.ask("Enter the file name: ")
117
- run_command("git rm #{file_name}")
118
- end
119
-
120
- def show_last_commit
121
- run_command("git show")
122
- end
123
-
124
- def pull_changes
125
- git_pull_options = ["rebase", "no-rebase", "ff-only"]
126
- chose = $prompt.select("chose: ", git_pull_options)
127
- run_command("git pull --#{chose}")
128
- end
129
-
130
- def run_command(cmd)
131
- puts "Command: #{cmd}"
132
- system(cmd)
133
- end
134
- end
135
-
136
- class Run
10
+ class Core
137
11
  def initialize
138
12
  @opt = Options.new
139
- git_init?
13
+ @prompt = TTY::Prompt.new
140
14
  start
141
15
  end
142
16
 
143
17
  def verify_system
144
- if OS.windows?; "C:\\Users\\#{Etc.getlogin}\\.gitconfig" else "/home/#{Etc.getlogin}/.gitconfig" end
18
+ if OS.windows?
19
+ "C:\\Users\\#{Etc.getlogin}\\.gitconfig"
20
+ else
21
+ "/home/#{Etc.getlogin}/.gitconfig"
22
+ end
145
23
  end
24
+
146
25
  def git_init?
147
- identify_user
148
26
  unless File.directory?(".git")
149
27
  begin
150
28
  options = ["Clone a repo", "Initialize a repo", "Close"]
151
- @git_init_select = $prompt.select("The .git directory was not found, what do you want to do?", options)
152
- git_init_verify
29
+ userSelect = @prompt.select("The .git directory was not found, what do you want to do?", options)
30
+ git_init_verify(userSelect)
153
31
  rescue TTY::Reader::InputInterrupt
154
32
  abort("\nCloseed")
155
33
  end
@@ -170,8 +48,8 @@ module G4t
170
48
  def identify_user
171
49
  if(File.exist?(verify_system)) == false
172
50
  begin
173
- email = $prompt.ask("Github email: ")
174
- uname = $prompt.ask("Github username: ")
51
+ email = @prompt.ask("Github email: ")
52
+ uname = @prompt.ask("Github username: ")
175
53
  @opt.run_command("git config --global user.email #{email} && git config --global user.name #{uname}")
176
54
  rescue TTY::Reader::InputInterrupt
177
55
  abort("\nYou closed the application")
@@ -180,7 +58,8 @@ module G4t
180
58
  end
181
59
 
182
60
  def show_panel
183
- options = ["Add remote address",
61
+ options = [
62
+ "Add remote address",
184
63
  "Add files",
185
64
  "Commit files",
186
65
  "Push files to branch",
@@ -198,46 +77,33 @@ module G4t
198
77
  ]
199
78
 
200
79
  begin
201
- @opt.git_info
202
- @opt_select = $prompt.select("Select: ", options)
203
- verify_option
80
+ Options.new.git_info
81
+ opt_select = @prompt.select("Select: ", options)
82
+ verify_option(opt_select)
204
83
  rescue TTY::Reader::InputInterrupt
205
84
  abort("\nYou has closed the application.")
206
85
  end
207
86
  end
208
- def verify_option
209
- case @opt_select
210
- when "Add remote address" then
211
- @opt.remote_adress
212
- when "Add files" then
213
- @opt.add_files
214
- when "Commit files" then
215
- @opt.commit_files
216
- when "Push files to branch" then
217
- @opt.push_branch
218
- when "Show git status" then
219
- @opt.status
220
- when "Show git logs" then
221
- @opt.logs
222
- when "Show diff" then
223
- @opt.diff
224
- when "Restore a file" then
225
- @opt.restore
226
- when "Reset to a commit" then
227
- @opt.reset
228
- when "Reset to the last commit" then
229
- @opt.hard_reset
230
- when "Change branch" then
231
- @opt.change_branch
232
- when "Remove a file" then
233
- @opt.remove_file
234
- when "Show the last commit" then
235
- @opt.show_last_commit
236
- when "Git pull changes" then
237
- @opt.pull_changes
238
- else
239
- abort("Goodbye, closed.")
240
- end
87
+
88
+ def verify_option(option)
89
+ switch = {
90
+ "Add remote address" => @opt.method(:remote_adress),
91
+ "Add files" => @opt.method(:add_files),
92
+ "Commit files" => @opt.method(:commit_files),
93
+ "Push files to branch" => @opt.method(:push_branch),
94
+ "Show git status" => @opt.method(:status),
95
+ "Show git logs" => @opt.method(:logs),
96
+ "Show diff" => @opt.method(:diff),
97
+ "Restore a file" => @opt.method(:restore),
98
+ "Reset to a commit" => @opt.method(:reset),
99
+ "Reset to the last commit" => @opt.method(:hard_reset),
100
+ "Change branch" => @opt.method(:change_branch),
101
+ "Remove a file" => @opt.method(:remove_file),
102
+ "Show the last commit" => @opt.method(:show_last_commit),
103
+ "Git pull changes" => @opt.method(:pull_changes)
104
+ }
105
+
106
+ return switch[option].call
241
107
  end
242
108
 
243
109
  def start
@@ -245,5 +111,5 @@ module G4t
245
111
  end
246
112
  end
247
113
 
248
- Run.new
114
+ Core.new
249
115
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: G4t
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.2'
4
+ version: '2.0'
5
5
  platform: ruby
6
6
  authors:
7
7
  - freazesss
@@ -48,7 +48,7 @@ extra_rdoc_files: []
48
48
  files:
49
49
  - bin/g4t
50
50
  - lib/g4t.rb
51
- homepage: https://github.com/freazesss/g4t
51
+ homepage: https://github.com/labsz/g4t
52
52
  licenses:
53
53
  - MIT
54
54
  metadata: {}
@@ -67,7 +67,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  requirements: []
70
- rubygems_version: 3.1.2
70
+ rubyforge_project:
71
+ rubygems_version: 2.7.6
71
72
  signing_key:
72
73
  specification_version: 4
73
74
  summary: git