ghedsh 1.1.10 → 1.1.11
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/lib/actions/help.rb +31 -39
- data/lib/actions/repo.rb +34 -10
- data/lib/actions/system.rb +52 -1
- data/lib/interface.rb +165 -142
- data/lib/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d284d3044a823a0685dc8000446c04121025c9b5
|
4
|
+
data.tar.gz: c1d9b80bd3e9b7212b33901493221ac90ead897a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 800d79a32bdfd1aeeecd14a4d72ac930d7a9d624f626c59b51c6cb10638bbf7adeffa37e34caeea1a782787f9b2b2b501301a4d72c49df827bf63f6ce2c37a5a
|
7
|
+
data.tar.gz: efa095937b48289ee543e081f37a5f201a93042b5a98be524524bb22df986ad51d63582706bf2f40b38bcc54da3129d9d38cca79f3af743eb8ccfd2d96e9694d
|
data/lib/actions/help.rb
CHANGED
@@ -1,54 +1,59 @@
|
|
1
1
|
|
2
2
|
class HelpM
|
3
|
+
attr_reader :user
|
4
|
+
attr_reader :org_repo
|
5
|
+
attr_reader :org_teams
|
6
|
+
attr_reader :user_repo
|
7
|
+
attr_reader :common_opt
|
3
8
|
|
4
9
|
def user()
|
5
10
|
self.common_opt
|
6
|
-
print "
|
7
|
-
print "
|
8
|
-
print "
|
9
|
-
print "
|
10
|
-
print "
|
11
|
+
print "\torgs\t\t\tshow your organizations\n"
|
12
|
+
print "\trepos\t\t\tlist your repositories\n\n"
|
13
|
+
print "\tclone\t\t\tclone a repository or a list of repositories using a regular expresion\n"
|
14
|
+
print "\tnew_repository\t\tcreate a repository in your personal account\n"
|
15
|
+
print "\tset\t\t\tmove you to a specific repository\n"
|
11
16
|
|
12
17
|
end
|
13
18
|
|
14
19
|
def org()
|
15
20
|
self.common_opt
|
16
|
-
print "
|
17
|
-
print "
|
18
|
-
print "
|
19
|
-
print "
|
20
|
-
print "
|
21
|
-
print "
|
22
|
-
print "
|
23
|
-
print "
|
21
|
+
print "\trepos\t\t\tlist the repositories of your organization\n"
|
22
|
+
print "\tclone\t\t\tclone a repository or a list of repositories using a regular expresion\n"
|
23
|
+
print "\tset\t\t\tmove you to a specific repository\n"
|
24
|
+
print "\tpeople\t\t\tmembers of a organization\n"
|
25
|
+
print "\tteams\t\t\tteams of a organization\n"
|
26
|
+
print "\tnew_assignment\t\tcreate a repository in your organization\n"
|
27
|
+
print "\trm_team\t\t\tdelete a team in you organization. Expected the name of the team\n"
|
28
|
+
print "\tnew_team\t\t\tcreate a team in the organization. Expected the name of the team, and/or members given one by one\n\n"
|
24
29
|
end
|
25
30
|
|
26
31
|
def org_repo()
|
27
32
|
self.common_opt
|
28
|
-
print "
|
29
|
-
print "
|
33
|
+
print "\tcommits\t\t\tshow the list of commits from the repository\n"
|
34
|
+
print "\tcol\t\t\tshow the list of collaborators from the repository\n\n"
|
30
35
|
end
|
31
36
|
|
32
37
|
def orgs_teams()
|
33
38
|
self.common_opt
|
34
|
-
print "
|
35
|
-
print "
|
36
|
-
print "
|
37
|
-
print "
|
39
|
+
print "\tpeople\t\t\tmembers of the team\n"
|
40
|
+
print "\tclone\t\t\tclone a repository or a list of repositories using a regular expresion\n"
|
41
|
+
print "\tnew_repository\t\tcreate a repository to this team\n"
|
42
|
+
print "\tadd_to_team\t\t\tadd a member in the team\n\n"
|
38
43
|
end
|
39
44
|
|
40
45
|
def user_repo()
|
41
46
|
self.common_opt
|
42
|
-
print "
|
43
|
-
print "
|
47
|
+
print "\tcommits\t\t\tshow the list of commits from the repository\n"
|
48
|
+
print "\tcol\t\t\tshow the list of collaborators from the repository\n\n"
|
44
49
|
end
|
45
50
|
|
46
51
|
def common_opt()
|
47
|
-
puts "\nList of commands
|
48
|
-
print "
|
49
|
-
print "
|
50
|
-
print "
|
51
|
-
print "
|
52
|
+
puts "\nList of commands\n"
|
53
|
+
print "\texit\t\t\texit from this program\n"
|
54
|
+
print "\thelp\t\t\tlist of commands available\n"
|
55
|
+
print "\tcd\t\t\tgo to the path\n"
|
56
|
+
print "\t!\t\t\texecute a bash command\n"
|
52
57
|
end
|
53
58
|
|
54
59
|
def welcome
|
@@ -56,17 +61,4 @@ class HelpM
|
|
56
61
|
puts "_______________________\n\n"
|
57
62
|
end
|
58
63
|
|
59
|
-
def bin
|
60
|
-
puts "\nList of commands\n\n"
|
61
|
-
puts "ghedsh"
|
62
|
-
puts "Run with default configuration. Configuration files are being set in #{ENV['HOME']}"
|
63
|
-
puts "ghedsh --token TOKEN"
|
64
|
-
puts "Provides a github access token by argument. Also works with ghedsh -t"
|
65
|
-
puts "ghedsh --user USERNAME"
|
66
|
-
puts "Change your user from your user's list. Also works with ghedsh -u"
|
67
|
-
puts "ghedsh --version"
|
68
|
-
puts "Show the current version of GHEDSH. Also works with ghedsh -v"
|
69
|
-
puts "ghedsh --help"
|
70
|
-
print "Show the executable options. Also works with ghedsh -h\n\n"
|
71
|
-
end
|
72
64
|
end
|
data/lib/actions/repo.rb
CHANGED
@@ -1,16 +1,22 @@
|
|
1
1
|
require 'readline'
|
2
2
|
require 'octokit'
|
3
3
|
require 'json'
|
4
|
+
require 'readline'
|
4
5
|
require 'require_all'
|
5
6
|
require_rel '.'
|
6
7
|
|
7
8
|
|
8
9
|
class Repositories
|
9
10
|
|
11
|
+
attr_reader :reposlist
|
10
12
|
#scope = 1 -> organization repos
|
11
13
|
#scope = 2 -> user repos
|
12
14
|
#scope = 3 -> team repos
|
13
15
|
|
16
|
+
def initialize
|
17
|
+
@reposlist=[]
|
18
|
+
end
|
19
|
+
|
14
20
|
def show_commits(client,config,scope)
|
15
21
|
print "\n"
|
16
22
|
case
|
@@ -24,9 +30,11 @@ class Repositories
|
|
24
30
|
end
|
25
31
|
end
|
26
32
|
|
33
|
+
#Show repositories and return a list of them
|
34
|
+
#exp = regular expression
|
27
35
|
def show_repos(client,config,scope,exp)
|
28
36
|
print "\n"
|
29
|
-
|
37
|
+
rlist=[]
|
30
38
|
options=Hash.new
|
31
39
|
o=Organizations.new
|
32
40
|
regex=false
|
@@ -35,42 +43,55 @@ class Repositories
|
|
35
43
|
if exp.match(/^\//)
|
36
44
|
regex=true
|
37
45
|
sp=exp.split('/')
|
38
|
-
exp=sp[1]
|
46
|
+
exp=Regexp.new(sp[1],sp[2])
|
39
47
|
end
|
40
48
|
end
|
41
49
|
|
42
50
|
case
|
43
51
|
when scope==1
|
44
|
-
#options[:affiliation]="organization_member"
|
45
52
|
repo=client.repositories(options) #config["User"]
|
46
53
|
listorgs=o.read_orgs(client)
|
47
|
-
#self.show_user_orgs_repos(client,config,listorgs)
|
48
54
|
|
49
55
|
when scope==2
|
50
56
|
repo=client.organization_repositories(config["Org"])
|
51
57
|
when scope==3
|
52
58
|
repo=client.team_repositories(config["TeamID"])
|
53
59
|
end
|
60
|
+
|
61
|
+
counter=0
|
62
|
+
allpages=true
|
63
|
+
|
54
64
|
repo.each do |i|
|
55
65
|
if regex==false
|
66
|
+
if counter==100 && allpages==true
|
67
|
+
op=Readline.readline("\nThere are more results. Show next repositories (press any key) or Show all repositories (press a): ",true)
|
68
|
+
if op=="a"
|
69
|
+
allpages=false
|
70
|
+
end
|
71
|
+
counter=0
|
72
|
+
end
|
73
|
+
|
56
74
|
puts i.name
|
57
|
-
|
75
|
+
rlist.push(i.name)
|
76
|
+
counter=counter+1
|
58
77
|
else
|
59
78
|
|
60
|
-
|
79
|
+
if i.name.match(exp)
|
61
80
|
puts i.name
|
62
|
-
|
81
|
+
rlist.push(i.name)
|
82
|
+
counter=counter+1
|
63
83
|
end
|
64
84
|
end
|
65
85
|
end
|
66
|
-
|
86
|
+
|
87
|
+
if rlist.empty?
|
67
88
|
puts "No repository matches with that expression"
|
68
89
|
else
|
69
90
|
print "\n"
|
70
|
-
puts "Repositories found: #{
|
91
|
+
puts "Repositories found: #{rlist.size}"
|
71
92
|
end
|
72
93
|
|
73
|
-
return
|
94
|
+
return rlist
|
74
95
|
end
|
75
96
|
|
76
97
|
def show_user_orgs_repos(client,config,listorgs)
|
@@ -154,6 +175,7 @@ class Repositories
|
|
154
175
|
end
|
155
176
|
end
|
156
177
|
|
178
|
+
#Gete the repository list from a given scope
|
157
179
|
def get_repos_list(client,config,scope)
|
158
180
|
reposlist=[]
|
159
181
|
case
|
@@ -170,6 +192,8 @@ class Repositories
|
|
170
192
|
return reposlist
|
171
193
|
end
|
172
194
|
|
195
|
+
#clone repositories
|
196
|
+
#exp = regular expression
|
173
197
|
def clone_repo(client,config,exp,scope)
|
174
198
|
web="https://github.com/"
|
175
199
|
web2="git@github.com:"
|
data/lib/actions/system.rb
CHANGED
@@ -7,8 +7,56 @@ require 'actions/system'
|
|
7
7
|
require 'version'
|
8
8
|
|
9
9
|
class Sys
|
10
|
-
|
10
|
+
attr_reader :client
|
11
|
+
attr_reader :memory
|
12
|
+
LIST = ['repos', 'exit', 'orgs','help', 'people','teams', 'cd ', 'cd repo ','commits','forks', 'add_team_member ','new_team ','rm_team ','new_repository ','new_assignment ','clone '].sort
|
11
13
|
|
14
|
+
def initialize()
|
15
|
+
@memory=[]
|
16
|
+
end
|
17
|
+
|
18
|
+
# CACHE READLINE METHODS
|
19
|
+
def add_history(value)
|
20
|
+
@memory.push(value)
|
21
|
+
self.write_memory
|
22
|
+
end
|
23
|
+
|
24
|
+
def quit_history(value)
|
25
|
+
@memory.pop(value)
|
26
|
+
self.write_memory
|
27
|
+
end
|
28
|
+
|
29
|
+
def add_history_str(mode,value)
|
30
|
+
if mode==1
|
31
|
+
value.each do |i|
|
32
|
+
@memory.push(i[0])
|
33
|
+
self.write_memory
|
34
|
+
end
|
35
|
+
end
|
36
|
+
if mode==2
|
37
|
+
value.each do |i|
|
38
|
+
@memory.push(i)
|
39
|
+
self.write_memory
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
def write_memory
|
44
|
+
history=(LIST+@memory).sort
|
45
|
+
comp = proc { |s| history.grep( /^#{Regexp.escape(s)}/ ) }
|
46
|
+
Readline.completion_append_character = ""
|
47
|
+
Readline.completion_proc = comp
|
48
|
+
end
|
49
|
+
|
50
|
+
def write_initial_memory
|
51
|
+
history=LIST+memory
|
52
|
+
comp = proc { |s| LIST.grep( /^#{Regexp.escape(s)}/ ) }
|
53
|
+
|
54
|
+
Readline.completion_append_character = ""
|
55
|
+
Readline.completion_proc = comp
|
56
|
+
end
|
57
|
+
# END CACHE READLINE METHODS
|
58
|
+
|
59
|
+
#Loading initial configure, if ghedsh path doesnt exist, call the create method
|
12
60
|
def load_config(configure_path,argv_token)
|
13
61
|
if File.exist?(configure_path)
|
14
62
|
if argv_token==nil
|
@@ -40,6 +88,7 @@ class Sys
|
|
40
88
|
end
|
41
89
|
end
|
42
90
|
|
91
|
+
#loading configure with --user mode
|
43
92
|
def load_config_user(configure_path, user)
|
44
93
|
if File.exist?(configure_path)
|
45
94
|
list=self.load_users(configure_path)
|
@@ -97,6 +146,7 @@ class Sys
|
|
97
146
|
return user
|
98
147
|
end
|
99
148
|
|
149
|
+
#initial program configure
|
100
150
|
def set_loguin_data_sh(config,configure_path)
|
101
151
|
puts "Insert you Access Token: "
|
102
152
|
token = gets.chomp
|
@@ -124,6 +174,7 @@ class Sys
|
|
124
174
|
return config
|
125
175
|
end
|
126
176
|
|
177
|
+
#creates all ghedsh local stuff
|
127
178
|
def create_config(configure_path)
|
128
179
|
con={:User=>nil,:Org=>nil,:Repo=>nil,:Team=>nil,:TeamID=>nil}
|
129
180
|
us={:login=>nil, :users=>[]}
|
data/lib/interface.rb
CHANGED
@@ -20,187 +20,213 @@ TEAM=4
|
|
20
20
|
TEAM_REPO=5
|
21
21
|
|
22
22
|
class Interface
|
23
|
-
attr_reader :option
|
23
|
+
attr_reader :option, :sysbh
|
24
24
|
attr_accessor :config
|
25
25
|
attr_accessor :client
|
26
26
|
attr_accessor :deep
|
27
27
|
attr_accessor :memory
|
28
|
-
attr_reader :teamlist
|
29
|
-
|
30
|
-
LIST = ['repos', 'exit', 'orgs','help', 'members','teams', 'cd ', 'commits','forks', 'add_team_member ','create_team ','delete_team ','create_repository ','clone_repo '].sort
|
28
|
+
attr_reader :orgs_list,:repos_list, :teamlist, :orgs_repos, :teams_repos
|
29
|
+
LIST = ['repos', 'exit', 'orgs','help', 'people','teams', 'cd ', 'cd repo ','commits','forks', 'add_team_member ','new_team ','rm_team ','new_repository ','new_assignment ','clone '].sort
|
31
30
|
|
32
31
|
def initialize
|
33
|
-
sysbh=Sys.new()
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
self.write_memory
|
52
|
-
end
|
53
|
-
|
54
|
-
def quit_history(value)
|
55
|
-
@memory.pop(value)
|
56
|
-
self.write_memory
|
57
|
-
end
|
58
|
-
|
59
|
-
def add_history_str(mode,value)
|
60
|
-
if mode==1
|
61
|
-
value.each do |i|
|
62
|
-
@memory.push(i[0])
|
63
|
-
self.write_memory
|
64
|
-
end
|
65
|
-
end
|
66
|
-
if mode==2
|
67
|
-
value.each do |i|
|
68
|
-
@memory.push(i)
|
69
|
-
self.write_memory
|
32
|
+
@sysbh=Sys.new()
|
33
|
+
@repos_list=[]; @orgs_repos=[]
|
34
|
+
|
35
|
+
options=@sysbh.parse
|
36
|
+
|
37
|
+
trap("SIGINT") { throw :ctrl_c }
|
38
|
+
catch :ctrl_c do
|
39
|
+
begin
|
40
|
+
if options[:user]==nil && options[:token]==nil && options[:path]!=nil
|
41
|
+
self.run(options[:path],options[:token],options[:user])
|
42
|
+
else
|
43
|
+
self.run("#{ENV['HOME']}/.ghedsh",options[:token],options[:user])
|
44
|
+
end
|
45
|
+
rescue SystemExit, Interrupt
|
46
|
+
raise
|
47
|
+
rescue Exception => e
|
48
|
+
puts "exit"
|
49
|
+
puts e
|
70
50
|
end
|
71
51
|
end
|
72
52
|
end
|
73
53
|
|
74
|
-
|
75
|
-
def write_memory
|
76
|
-
history=(LIST+@memory).sort
|
77
|
-
comp = proc { |s| history.grep( /^#{Regexp.escape(s)}/ ) }
|
78
|
-
Readline.completion_append_character = ""
|
79
|
-
Readline.completion_proc = comp
|
80
|
-
end
|
81
|
-
|
82
|
-
|
83
54
|
def prompt()
|
84
55
|
case
|
85
|
-
when @deep ==
|
86
|
-
when @deep ==
|
87
|
-
when @deep ==
|
88
|
-
when @deep ==
|
89
|
-
when @deep ==
|
90
|
-
when @deep ==
|
56
|
+
when @deep == USER then return @config["User"]+"> "
|
57
|
+
when @deep == USER_REPO then return @config["User"]+">"+ "\e[31m#{@config["Repo"]}\e[0m"+"> "
|
58
|
+
when @deep == ORGS then return @config["User"]+">"+ "\e[34m#{@config["Org"]}\e[0m"+"> "
|
59
|
+
when @deep == TEAM then return @config["User"]+">"+@config["Org"]+">"+@config["Team"]+"> "
|
60
|
+
when @deep == TEAM_REPO then return @config["User"]+">"+"\e[34m#{@config["Org"]}\e[0m"+">"+@config["Team"]+">"+"\e[31m#{@config["Repo"]}\e[0m"+"> "
|
61
|
+
when @deep == ORGS_REPO then return @config["User"]+">"+"\e[34m#{@config["Org"]}\e[0m"+">"+"\e[31m#{@config["Repo"]}\e[0m"+"> "
|
91
62
|
end
|
92
63
|
end
|
93
64
|
|
94
65
|
def help()
|
95
66
|
h=HelpM.new()
|
96
67
|
case
|
97
|
-
when @deep ==
|
68
|
+
when @deep == USER
|
98
69
|
h.user()
|
99
|
-
when @deep ==
|
70
|
+
when @deep == ORGS
|
100
71
|
h.org()
|
101
|
-
when @deep ==
|
72
|
+
when @deep == ORGS_REPO
|
102
73
|
h.org_repo()
|
103
|
-
when @deep ==
|
74
|
+
when @deep == USER_REPO
|
104
75
|
h.user_repo()
|
105
|
-
when @deep ==
|
76
|
+
when @deep == TEAM
|
106
77
|
h.orgs_teams()
|
107
78
|
end
|
108
79
|
end
|
109
80
|
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
@deep
|
115
|
-
|
116
|
-
|
117
|
-
@deep
|
118
|
-
|
119
|
-
|
120
|
-
@deep
|
121
|
-
|
122
|
-
|
123
|
-
@
|
124
|
-
|
81
|
+
#Go back to any level
|
82
|
+
def cdback(returnall)
|
83
|
+
if returnall!=true
|
84
|
+
case
|
85
|
+
when @deep == ORGS
|
86
|
+
@config["Org"]=nil
|
87
|
+
@deep=1
|
88
|
+
when @deep == ORGS_REPO
|
89
|
+
@config["Repo"]=nil
|
90
|
+
@deep=2
|
91
|
+
when @deep == USER_REPO
|
92
|
+
@config["Repo"]=nil
|
93
|
+
@deep=1
|
94
|
+
when @deep == TEAM
|
95
|
+
@config["Team"]=nil
|
96
|
+
@config["TeamID"]=nil
|
97
|
+
@deep=2
|
98
|
+
end
|
99
|
+
else
|
100
|
+
@config["Org"]=nil
|
101
|
+
@config["Repo"]=nil
|
102
|
+
@config["Team"]=nil
|
103
|
+
@config["TeamID"]=nil
|
104
|
+
@deep=1
|
125
105
|
end
|
126
106
|
end
|
127
107
|
|
108
|
+
#Go to the path, depends with the scope
|
109
|
+
#if you are in user scope, first searchs Orgs then Repos, etc.
|
128
110
|
def cd(path)
|
129
111
|
case
|
130
|
-
when @deep==
|
112
|
+
when @deep==USER
|
131
113
|
@orgs_list=Organizations.new.read_orgs(@client)
|
132
114
|
aux=@orgs_list
|
133
115
|
if aux.one?{|aux| aux==path}
|
134
116
|
@config["Org"]=path
|
135
117
|
@teamlist=Teams.new.read_teamlist(@client,@config)
|
136
|
-
self.add_history_str(1,@teamlist)
|
118
|
+
#self.add_history_str(1,@teamlist)
|
119
|
+
@sysbh.add_history_str(1,@teamlist)
|
137
120
|
@deep=2
|
138
121
|
else
|
139
|
-
puts "
|
122
|
+
puts "\nNo organization is available with that name"
|
123
|
+
self.set(path)
|
140
124
|
end
|
141
|
-
when @deep ==
|
125
|
+
when @deep == ORGS
|
142
126
|
aux=@teamlist
|
143
127
|
if aux[path]!=nil
|
144
128
|
@config["Team"]=path
|
145
129
|
@config["TeamID"]=@teamlist[path]
|
146
|
-
@deep=
|
130
|
+
@deep=TEAM
|
147
131
|
else
|
148
|
-
puts "
|
132
|
+
puts "\nNo team is available with that name"
|
133
|
+
self.set(path)
|
149
134
|
end
|
135
|
+
when @deep == TEAM
|
136
|
+
self.set(path)
|
150
137
|
end
|
151
138
|
end
|
152
139
|
|
153
|
-
#set the
|
140
|
+
#set in the given path repository, first search in the list, then do the github query if list is empty
|
154
141
|
def set(path)
|
155
142
|
reposlist=Repositories.new()
|
143
|
+
|
156
144
|
case
|
157
|
-
when @deep==
|
145
|
+
when @deep==USER
|
158
146
|
@config["Repo"]=path
|
159
|
-
if
|
160
|
-
|
147
|
+
if @repos_list.empty? == false
|
148
|
+
reposlist=@repos_list
|
149
|
+
else
|
150
|
+
reposlist=reposlist.get_repos_list(@client,@config,@deep)
|
161
151
|
end
|
162
|
-
|
152
|
+
if reposlist.one?{|aux| aux==path}
|
153
|
+
@deep=USER_REPO
|
154
|
+
puts "Set in #{@config["User"]} repository: #{path}\n\n"
|
155
|
+
end
|
156
|
+
when @deep==ORGS
|
163
157
|
@config["Repo"]=path
|
164
|
-
if
|
165
|
-
|
158
|
+
if @orgs_repos.empty? == false
|
159
|
+
reposlist=@orgs_repos
|
160
|
+
else
|
161
|
+
reposlist=reposlist.get_repos_list(@client,@config,@deep)
|
166
162
|
end
|
167
|
-
|
163
|
+
if reposlist.one?{|aux| aux==path}
|
164
|
+
@deep=ORGS_REPO
|
165
|
+
puts "Set in #{@config["Org"]} repository: #{path}\n\n"
|
166
|
+
end
|
167
|
+
when @deep==TEAM
|
168
168
|
@config["Repo"]=path
|
169
|
-
if
|
170
|
-
|
169
|
+
if @teams_repos.empty? == false
|
170
|
+
repostlist=@teams_repos
|
171
|
+
else
|
172
|
+
repostlist.get_repos_list(@client,@config,@deep)
|
173
|
+
end
|
174
|
+
if reposlist.one?{|aux| aux==path}
|
175
|
+
@deep=TEAM_REPO
|
176
|
+
puts "Set in #{@config["Team"]} repository: #{path}\n\n"
|
171
177
|
end
|
172
178
|
end
|
173
|
-
if @deep==
|
179
|
+
if @deep==USER || @deep==ORGS || @deep==TEAM then puts "No repository is available with that name\n\n" end
|
174
180
|
end
|
175
181
|
|
176
182
|
def orgs()
|
177
183
|
case
|
178
|
-
when @deep==
|
179
|
-
self.add_history_str(2,Organizations.new.show_orgs(@client,@config))
|
184
|
+
when @deep==USER
|
185
|
+
#self.add_history_str(2,Organizations.new.show_orgs(@client,@config))
|
186
|
+
@sysbh.add_history_str(2,Organizations.new.show_orgs(@client,@config))
|
180
187
|
end
|
181
188
|
end
|
182
189
|
|
183
|
-
def
|
190
|
+
def people()
|
184
191
|
case
|
185
|
-
when @deep==
|
186
|
-
self.add_history_str(2,Organizations.new.show_organization_members_bs(@client,@config))
|
187
|
-
|
188
|
-
|
192
|
+
when @deep==ORGS
|
193
|
+
#self.add_history_str(2,Organizations.new.show_organization_members_bs(@client,@config))
|
194
|
+
@sysbh.add_history_str(2,Organizations.new.show_organization_members_bs(@client,@config))
|
195
|
+
when @deep==TEAM
|
196
|
+
#self.add_history_str(2,Teams.new.show_team_members_bs(@client,@config))
|
197
|
+
@sysbh.add_history_str(2,Organizations.new.show_organization_members_bs(@client,@config))
|
189
198
|
end
|
190
199
|
end
|
191
200
|
|
192
201
|
def repos()
|
193
202
|
repo=Repositories.new()
|
194
203
|
case
|
195
|
-
when @deep ==
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
+
when @deep == USER
|
205
|
+
if @repos_list.empty?
|
206
|
+
list=repo.show_repos(@client,@config,USER,nil)
|
207
|
+
#self.add_history_str(2,list)
|
208
|
+
@sysbh.add_history_str(2,list)
|
209
|
+
@repos_list=list
|
210
|
+
else
|
211
|
+
puts @repos_list
|
212
|
+
end
|
213
|
+
when @deep ==ORGS
|
214
|
+
if @orgs_repos.empty?
|
215
|
+
list=repo.show_repos(@client,@config,ORGS,nil)
|
216
|
+
#self.add_history_str(2,list)
|
217
|
+
@sysbh.add_history_str(2,list)
|
218
|
+
@orgs_repos=list
|
219
|
+
else
|
220
|
+
puts @orgs_repos
|
221
|
+
end
|
222
|
+
when @deep==TEAM
|
223
|
+
if @teams_repos.empty?
|
224
|
+
list=repo.show_repos(@client,@config,TEAM,nil)
|
225
|
+
self.add_history_str(2,list)
|
226
|
+
@teams_repos=list
|
227
|
+
else
|
228
|
+
puts @teams_repos
|
229
|
+
end
|
204
230
|
end
|
205
231
|
end
|
206
232
|
|
@@ -215,9 +241,9 @@ class Interface
|
|
215
241
|
def commits()
|
216
242
|
c=Repositories.new
|
217
243
|
case
|
218
|
-
when @deep==
|
244
|
+
when @deep==ORGS_REPO
|
219
245
|
c.show_commits(@client,@config,1)
|
220
|
-
when @deep==
|
246
|
+
when @deep==USER_REPO
|
221
247
|
c.show_commits(@client,@config,2)
|
222
248
|
end
|
223
249
|
print "\n"
|
@@ -225,26 +251,23 @@ class Interface
|
|
225
251
|
|
226
252
|
def show_forks()
|
227
253
|
case
|
228
|
-
when @deep==
|
254
|
+
when @deep==ORGS_REPO
|
229
255
|
Repositories.new.show_forks(@client,@config,1)
|
230
256
|
end
|
231
257
|
end
|
232
258
|
|
233
259
|
def collaborators()
|
234
260
|
case
|
235
|
-
when @deep==
|
261
|
+
when @deep==ORGS_REPO
|
236
262
|
Repositories.show_collaborators(@client,@config,1)
|
237
263
|
end
|
238
264
|
end
|
239
265
|
|
266
|
+
#Main program
|
240
267
|
def run(config_path, argv_token,user)
|
241
268
|
ex=1
|
242
|
-
@memory=[]
|
243
|
-
history=LIST+memory
|
244
|
-
comp = proc { |s| LIST.grep( /^#{Regexp.escape(s)}/ ) }
|
245
269
|
|
246
|
-
|
247
|
-
Readline.completion_proc = comp
|
270
|
+
@sysbh.write_initial_memory()
|
248
271
|
HelpM.new.welcome()
|
249
272
|
|
250
273
|
t=Teams.new
|
@@ -264,9 +287,10 @@ class Interface
|
|
264
287
|
@client=s.client
|
265
288
|
end
|
266
289
|
|
267
|
-
@deep=
|
290
|
+
@deep=USER
|
268
291
|
if @client!=nil
|
269
|
-
self.add_history_str(2,Organizations.new.read_orgs(@client))
|
292
|
+
#self.add_history_str(2,Organizations.new.read_orgs(@client))
|
293
|
+
@sysbh.add_history_str(2,Organizations.new.read_orgs(@client))
|
270
294
|
end
|
271
295
|
|
272
296
|
while ex != 0
|
@@ -278,10 +302,10 @@ class Interface
|
|
278
302
|
s.save_cache(config_path,@config)
|
279
303
|
when op == "help" then self.help()
|
280
304
|
when op == "orgs" then self.orgs()
|
281
|
-
when op == "cd .." then self.cdback()
|
282
|
-
when op == "
|
305
|
+
when op == "cd .." then self.cdback(false)
|
306
|
+
when op == "people" then self.people()
|
283
307
|
when op == "teams" #then self.teams()
|
284
|
-
if @deep==
|
308
|
+
if @deep==ORGS
|
285
309
|
t.show_teams_bs(@client,@config)
|
286
310
|
end
|
287
311
|
when op == "commits" then self.commits()
|
@@ -290,9 +314,15 @@ class Interface
|
|
290
314
|
end
|
291
315
|
|
292
316
|
if opcd[0]=="cd" and opcd[1]!=".."
|
293
|
-
|
294
|
-
|
295
|
-
|
317
|
+
if opcd[1]=="/"
|
318
|
+
self.cdback(true)
|
319
|
+
else
|
320
|
+
if opcd[1]=="repo" and opcd.size>2
|
321
|
+
self.set(opcd[2])
|
322
|
+
else
|
323
|
+
self.cd(opcd[1])
|
324
|
+
end
|
325
|
+
end
|
296
326
|
end
|
297
327
|
if opcd[0]=="set"
|
298
328
|
self.set(opcd[1])
|
@@ -301,52 +331,45 @@ class Interface
|
|
301
331
|
self.repos()
|
302
332
|
end
|
303
333
|
if opcd[0]=="repos" and opcd.size>1
|
304
|
-
|
305
|
-
when @deep==1
|
306
|
-
r.show_repos(@client,@config,1,opcd[1])
|
307
|
-
when @deep==2
|
308
|
-
r.show_repos(@client,@config,2,opcd[1])
|
309
|
-
when @deep==3
|
310
|
-
r.show_repos(@client,@config,3,opcd[1])
|
311
|
-
end
|
334
|
+
r.show_repos(@client,@config,@deep,opcd[1])
|
312
335
|
end
|
313
336
|
if opcd[0]=="add_team_member"
|
314
337
|
t.add_to_team(@client,@config,opcd[1])
|
315
338
|
end
|
316
|
-
if opcd[0]=="
|
339
|
+
if opcd[0]=="new_team" and opcd.size==2
|
317
340
|
t.create_team(@client,@config,opcd[1])
|
318
341
|
@teamlist=t.read_teamlist(@client,@config)
|
319
342
|
self.add_history_str(1,@teamlist)
|
320
343
|
end
|
321
|
-
if opcd[0]=="
|
344
|
+
if opcd[0]=="rm_team"
|
322
345
|
t.delete_team(@client,@teamlist[opcd[1]])
|
323
346
|
self.quit_history(@teamlist[opcd[1]])
|
324
347
|
@teamlist=t.read_teamlist(@client,@config)
|
325
348
|
self.add_history_str(1,@teamlist)
|
326
349
|
end
|
327
|
-
if opcd[0]=="
|
350
|
+
if opcd[0]=="new_team" and opcd.size>2
|
328
351
|
t.create_team_with_members(@client,@config,opcd[1],opcd[2..opcd.size])
|
329
352
|
@teamlist=t.read_teamlist(@client,@config)
|
330
353
|
self.add_history_str(1,@teamlist)
|
331
354
|
end
|
332
|
-
if opcd[0]=="
|
355
|
+
if opcd[0]=="new_repository" and opcd.size==2
|
333
356
|
r.create_repository(@client,@config,opcd[1],@deep)
|
334
357
|
end
|
335
|
-
if opcd[0]=="
|
358
|
+
if opcd[0]=="new_assignment" and opcd.size>2
|
336
359
|
case
|
337
|
-
when @deep==
|
360
|
+
when @deep==ORGS
|
338
361
|
r.create_repository_by_teamlist(@client,@config,opcd[1],opcd[2,opcd.size],self.get_teamlist(opcd[2,opcd.size]))
|
339
362
|
end
|
340
363
|
end
|
341
364
|
|
342
|
-
if opcd[0]=="
|
365
|
+
if opcd[0]=="clone" and opcd.size==2
|
343
366
|
r.clone_repo(@client,@config,opcd[1],@deep)
|
344
367
|
end
|
345
368
|
if op.match(/^!/)
|
346
369
|
op=op.split("!")
|
347
370
|
s.execute_bash(op[1])
|
348
371
|
end
|
349
|
-
if opcd[0]=="
|
372
|
+
if opcd[0]=="clone" and opcd.size>2
|
350
373
|
#r.clone_repo(@client,@config,opcd[1])
|
351
374
|
end
|
352
375
|
end
|
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ghedsh
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Javier Clemente
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-04
|
12
|
+
date: 2016-05-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: octokit
|