ghedsh 1.1.36 → 1.1.37
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 +212 -97
- data/lib/actions/orgs.rb +52 -18
- data/lib/actions/system.rb +4 -2
- data/lib/interface.rb +31 -63
- 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: c8a23a5d1197103228e5bea247ad7fa410ce2b76
|
4
|
+
data.tar.gz: ad4d31c781bbf7019e64e0328e08fd827c8833c0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aa9066ed944f65d672e33c6a53363cf69bfa632c6c6ce3dc2762a83bdddd9ae657f77787650820372dd3dcdccd55ea542bd7cbdac8a37f491c90815b978ca824
|
7
|
+
data.tar.gz: e84a02d13736d6199a0d90c8db0956cedf1b311fa59f6cdad25878b12e17aa0ef90ad41fdc61876225ab52690411557084405ea8dc492b3bad7f8354400aa5a8
|
data/lib/actions/help.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'require_all'
|
2
|
+
require_rel '.'
|
1
3
|
|
2
4
|
class HelpM
|
3
5
|
attr_reader :user
|
@@ -6,86 +8,226 @@ class HelpM
|
|
6
8
|
attr_reader :user_repo
|
7
9
|
attr_reader :common_opt
|
8
10
|
|
11
|
+
def context(name,scope)
|
12
|
+
name=name.join("_")
|
13
|
+
begin
|
14
|
+
self.send(:"#{name}",scope)
|
15
|
+
rescue
|
16
|
+
puts "There is no command with that name"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def repos(scope)
|
21
|
+
case
|
22
|
+
when scope==USER
|
23
|
+
print "\trepos\t\t\tList your repositories\n"
|
24
|
+
when scope==ORGS
|
25
|
+
print "\trepos\t\t\tList the repositories of your organization\n"
|
26
|
+
when scope==TEAM
|
27
|
+
print "\trepos\t\t\tList the team's repositories\n"
|
28
|
+
end
|
29
|
+
print "\t\t\t\tYou can use a RegExp to improve the search using the \/ parameter \n"
|
30
|
+
print "\t\t\t\t->\trepos /[RegExp]/\n\n"
|
31
|
+
end
|
32
|
+
|
33
|
+
def new_repository(scope)
|
34
|
+
case
|
35
|
+
when scope==USER
|
36
|
+
print "\tnew repository\t\tCreate a repository in your personal account\n"
|
37
|
+
when scope==ORGS
|
38
|
+
print "\tnew repository\t\tCreate a repository in a organization\n"
|
39
|
+
when scope==TEAM
|
40
|
+
print "\tnew repository\t\tCreate a repository to this team\n"
|
41
|
+
end
|
42
|
+
print "\t\t\t\t->\tnew repository [name of the repository]\n\n"
|
43
|
+
end
|
44
|
+
|
45
|
+
def rm_repository(scope)
|
46
|
+
case
|
47
|
+
when scope==USER
|
48
|
+
print "\trm repository\t\tDelete a repository in your personal account\n"
|
49
|
+
when scope==ORGS
|
50
|
+
print "\trm repository\t\tDelete a repository in a organization\n"
|
51
|
+
when scope==TEAM
|
52
|
+
print "\trm repository\t\tDelete a repository of a team\n"
|
53
|
+
end
|
54
|
+
print "\t\t\t\t->\trm repository [name of the repository]\n\n"
|
55
|
+
end
|
56
|
+
|
57
|
+
def open(scope)
|
58
|
+
case
|
59
|
+
when scope==USER
|
60
|
+
print "\topen\t\t\tOpen the user's url of github in your web browser.\n"
|
61
|
+
when scope==ORGS
|
62
|
+
print "\topen\t\t\tOpen the organization's url of github in your web browser.\n"
|
63
|
+
print "\t\t\t\tIf you have added the aditional .csv information with, you can open an specific github profile.\n"
|
64
|
+
print "\t\t\t\t->\topen [user]\n\n"
|
65
|
+
print "\t\t\t\tYou can open an specific field if its contains an url.\n"
|
66
|
+
print "\t\t\t\t->\topen [user] [fieldname]\n\n"
|
67
|
+
print "\t\t\t\tIf you don't want to put the whole field, you can open the url contained with \"/\" parameter.\n"
|
68
|
+
print "\t\t\t\t->\topen [user] /[part of the url]/\n\n"
|
69
|
+
when scope==ORGS_REPO
|
70
|
+
print "\topen\t\t\tOpen the repository's url of github in your web browser.\n"
|
71
|
+
when scope==TEAM
|
72
|
+
print "\topen\t\t\tOpen the team's url of github in your web browser.\n"
|
73
|
+
when scope==TEAM_REPO
|
74
|
+
print "\topen\t\t\tOpen the repository's url of github in your web browser.\n"
|
75
|
+
when scope==ASSIG
|
76
|
+
print "\topen\t\t\topen the github assignment repositories disposition\n"
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
def people(scope)
|
81
|
+
case
|
82
|
+
when scope==ORGS
|
83
|
+
print "\tpeople\t\t\tMembers of the organization\n"
|
84
|
+
print "\t\t\t\t->\tpeople\n\n"
|
85
|
+
print "\t\t\t\tIf you add the parameter 'info', the extended information will be showed\n"
|
86
|
+
print "\t\t\t\t->\tpeople info\n\n"
|
87
|
+
print "\t\t\t\tTo find a specific member extended info, you can give the github id as parameter.\n"
|
88
|
+
print "\t\t\t\t->\tpeople info [github id]\n\n"
|
89
|
+
print "\t\t\t\tTo use a RegExp search in each field of the information, you can use the parameter /.\n"
|
90
|
+
print "\t\t\t\t->\tpeople info /[RegExp]/\n\n"
|
91
|
+
when scope==TEAM
|
92
|
+
print "\tpeople\t\t\tMembers of the team\n"
|
93
|
+
end
|
94
|
+
end
|
95
|
+
alias_method :people_info, :people
|
96
|
+
|
97
|
+
def cd(scope)
|
98
|
+
print "\tcd\t\t\tGo to the path. Could be an assignment, an organization, a team or a repository\n"
|
99
|
+
print "\t\t\t\t->\tcd [path]\n\n"
|
100
|
+
print "\t\t\t\tFor going to the user root path use cd without argument:\n"
|
101
|
+
print "\t\t\t\t->\tcd\n\n"
|
102
|
+
print "\t\t\t\tYou can go back to the previous level with the argument ".."\n"
|
103
|
+
print "\t\t\t\t->\tcd [..]\n\n"
|
104
|
+
print "\t\t\t\tDefault search look for repositories at the end of the queue.\n"
|
105
|
+
print "\t\t\t\tIf you want to look for an specific repository use: \n"
|
106
|
+
print "\t\t\t\t->\tcd repo [name] \n\n"
|
107
|
+
end
|
108
|
+
|
109
|
+
def groups(scope)
|
110
|
+
case
|
111
|
+
when scope==ORGS
|
112
|
+
print "\tgroups\t\t\tShow the list of groups with each team and user that it has\n"
|
113
|
+
print "\tgroup\t\t\tShow the information of an specific group\n"
|
114
|
+
print "\t\t\t\t->\tgroup [name of the group]\n\n"
|
115
|
+
print "\tnew group\t\tCreate a new group. Expected the name and teams given one by one\n"
|
116
|
+
print "\t\t\t\t->\tnew group [name of the group] [team1] [team2] [team3] ... \n\n"
|
117
|
+
print "\t\t\t\tIf you want to import the teams from a file, use the parameter -f\n"
|
118
|
+
print "\t\t\t\t->\tnew group -f [name of the group] [file]\n\n"
|
119
|
+
print "\trm group\t\tDelete a created group\n"
|
120
|
+
print "\t\t\t\t->\trm group [name of the group]\n\n"
|
121
|
+
end
|
122
|
+
end
|
123
|
+
alias_method :group,:groups
|
124
|
+
alias_method :new_group,:groups
|
125
|
+
alias_method :rm_group,:groups
|
126
|
+
|
127
|
+
def teams(scope)
|
128
|
+
case
|
129
|
+
when scope==ORGS
|
130
|
+
print "\tteams\t\t\tTeams of a organization\n"
|
131
|
+
print "\trm team\t\t\tDelete a team in you organization. Expected the name of the team\n"
|
132
|
+
print "\t\t\t\t->\trm team [name of the team]\n\n"
|
133
|
+
print "\tnew team\t\tCreate a team in the organization. Expected the name of the team, and/or members given one by one\n"
|
134
|
+
print "\t\t\t\t->\tnew team [name of the team] [member1] [member2] [member3] ... \n\n"
|
135
|
+
end
|
136
|
+
end
|
137
|
+
alias_method :rm_team, :teams
|
138
|
+
alias_method :new_team, :teams
|
139
|
+
|
140
|
+
def assignments(scope)
|
141
|
+
case
|
142
|
+
when scope==ORGS
|
143
|
+
print "\tassignments\t\tShow the list of assignments created\n"
|
144
|
+
print "\tnew assignment\t\tCreate an Assignment in your organization\n"
|
145
|
+
print "\t\t\t\t->\tnew assignment [name of the assignment]\n\n"
|
146
|
+
end
|
147
|
+
end
|
148
|
+
alias_method :new_assignment, :assignments
|
149
|
+
|
150
|
+
def issues(scope)
|
151
|
+
if scope==ORGS_REPO || scope==TEAM_REPO || scope==USER_REPO
|
152
|
+
print "\tnew issue\t\tCreates a new issue\n"
|
153
|
+
print "\tissues\t\t\tShow the list of issues from the repository\n"
|
154
|
+
print "\tissue\t\t\tShow the issue and its comments\n"
|
155
|
+
print "\t\t\t\t->\tissue [Id of the issue]\n\n"
|
156
|
+
print "\tnew issue comment\tAdd a comment in a specific issue\n"
|
157
|
+
print "\t\t\t\t->\tnew issue comment [Id of the issue]\n\n"
|
158
|
+
print "\topen issue\t\tOpen a closed issue\n"
|
159
|
+
print "\t\t\t\t->\topen issue [Id of the issue]\n\n"
|
160
|
+
print "\tclose issue\t\tClose an opened issue\n"
|
161
|
+
print "\t\t\t\t->\tclose issue [Id of the issue]\n\n"
|
162
|
+
end
|
163
|
+
end
|
164
|
+
alias_method :new_issue,:issues
|
165
|
+
alias_method :issue,:issues
|
166
|
+
alias_method :open_issue,:issues
|
167
|
+
alias_method :close_issue,:issues
|
168
|
+
|
169
|
+
def new_people_info(scope)
|
170
|
+
if scope==ORGS
|
171
|
+
print "\tnew relation\t\tSet a relation for the extendend information between Github ID and an email from a .csv file\n"
|
172
|
+
print "\t\t\t\t->\tnew relation [name of the file]\n\n"
|
173
|
+
print "\tnew people info\t\tGet extended information from a .csv file founded in the excecute path\n"
|
174
|
+
print "\t\t\t\t->\tnew people info [name of the file]\n\n"
|
175
|
+
print "\trm people info\t\tDelete the extended information\n"
|
176
|
+
end
|
177
|
+
end
|
178
|
+
alias_method :new_relation,:new_people_info
|
179
|
+
alias_method :rm_people_info,:new_people_info
|
180
|
+
|
181
|
+
def info(scope)
|
182
|
+
|
183
|
+
if scope==USER
|
184
|
+
end
|
185
|
+
if scope==USER_REPO || scope==ORGS_REPO || scope==TEAM_REPO
|
186
|
+
print "\tinfo\t\t\tShow information about the repository\n"
|
187
|
+
end
|
188
|
+
if scope==ASSIG
|
189
|
+
print "\tinfo\t\t\t\Show information about the assignment\n"
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
9
193
|
def user()
|
10
194
|
self.common_opt
|
11
195
|
puts " Users options:"
|
12
196
|
print "\n\tCOMMAND\t\t\tDESCRIPTION\n\n"
|
13
197
|
print "\torgs\t\t\tShow your organizations\n"
|
14
|
-
|
15
|
-
|
198
|
+
self.open(USER)
|
199
|
+
self.repos(USER)
|
16
200
|
print "\tclone\t\t\tClone a repository or a list of repositories using a regular expresion\n"
|
17
|
-
|
18
|
-
|
19
|
-
print "\trm repository\t\tDelete a repository in your personal account\n"
|
20
|
-
print "\t\t\t\t->\trm repository [name of the repository]\n\n"
|
201
|
+
self.new_repository(USER)
|
202
|
+
self.rm_repository(USER)
|
21
203
|
print "\tset\t\t\tMove you to a specific repository\n"
|
22
|
-
|
23
204
|
end
|
24
205
|
|
25
206
|
def org()
|
26
207
|
self.common_opt
|
27
208
|
puts " Organization options:"
|
28
209
|
print "\n\tCOMMAND\t\t\tDESCRIPTION\n\n"
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
print "\t\t\t\t->\trm repository [name of the repository]\n\n"
|
34
|
-
print "\topen\t\t\tOpen the organization's url of github in your web browser.\n"
|
35
|
-
print "\t\t\t\tIf you have added the aditional .csv information with, you can open an specific github profile.\n"
|
36
|
-
print "\t\t\t\t->\topen [user]\n\n"
|
210
|
+
self.repos(ORGS)
|
211
|
+
self.new_repository(ORGS)
|
212
|
+
self.rm_repository(ORGS)
|
213
|
+
self.open(ORGS)
|
37
214
|
print "\tclone\t\t\tClone a repository or a list of repositories using a regular expresion\n"
|
38
215
|
print "\tset\t\t\tMove you to a specific repository\n"
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
print "\t\t\t\t->\tpeople info [github id]\n\n"
|
45
|
-
print "\t\t\t\tTo use a RegExp search in each field of the information, you can use the parameter /.\n"
|
46
|
-
print "\t\t\t\t->\tpeople info /[RegExp]/\n\n"
|
47
|
-
print "\tteams\t\t\tTeams of a organization\n"
|
48
|
-
print "\tnew relation\t\tSet a relation for the extendend information between Github ID and an email from a .csv file\n"
|
49
|
-
print "\t\t\t\t->\tnew relation [name of the file]\n\n"
|
50
|
-
print "\tnew people info\t\tGet extended information from a .csv file founded in the excecute path\n"
|
51
|
-
print "\t\t\t\t->\tnew people info [name of the file]\n\n"
|
52
|
-
print "\trm people info\t\tDelete the extended information\n"
|
53
|
-
print "\tassignments\t\tShow the list of assignments created\n"
|
54
|
-
print "\tnew assignment\t\tCreate an Assignment in your organization\n"
|
55
|
-
print "\t\t\t\t->\tnew assignment [name of the assignment]\n\n"
|
56
|
-
print "\tgroups\t\t\tShow the list of groups with each team and user that it has\n"
|
57
|
-
print "\tgroup\t\t\tShow the information of an specific group\n"
|
58
|
-
print "\t\t\t\t->\tgroup [name of the group]\n\n"
|
59
|
-
print "\tnew group\t\tCreate a new group. Expected the name and teams given one by one\n"
|
60
|
-
print "\t\t\t\t->\tnew group [name of the group] [team1] [team2] [team3] ... \n\n"
|
61
|
-
print "\t\t\t\tIf you want to import the teams from a file, use the parameter -f\n"
|
62
|
-
print "\t\t\t\t->\tnew group -f [name of the group] [file]\n\n"
|
63
|
-
print "\trm group\t\tDelete a created group\n"
|
64
|
-
print "\t\t\t\t->\trm group [name of the group]\n\n"
|
65
|
-
print "\trm team\t\t\tDelete a team in you organization. Expected the name of the team\n"
|
66
|
-
print "\t\t\t\t->\trm team [name of the team]\n\n"
|
67
|
-
print "\tnew team\t\tCreate a team in the organization. Expected the name of the team, and/or members given one by one\n"
|
68
|
-
print "\t\t\t\t->\tnew team [name of the team] [member1] [member2] [member3] ... \n\n"
|
69
|
-
|
216
|
+
self.people(ORGS)
|
217
|
+
self.new_people_info(ORGS)
|
218
|
+
self.assignments(ORGS)
|
219
|
+
self.groups(ORGS)
|
220
|
+
self.teams(ORGS)
|
70
221
|
end
|
71
222
|
|
72
223
|
def org_repo()
|
73
224
|
self.common_opt
|
74
225
|
puts " Repository options:"
|
75
226
|
print "\n\tCOMMAND\t\t\tDESCRIPTION\n\n"
|
76
|
-
|
77
|
-
|
227
|
+
self.info(ORGS_REPO)
|
228
|
+
self.open(ORGS_REPO)
|
78
229
|
print "\tcommits\t\t\tShow the list of commits from the repository\n"
|
79
|
-
|
80
|
-
print "\tissues\t\t\tShow the list of issues from the repository\n"
|
81
|
-
print "\tissue\t\t\tShow the issue and its comments\n"
|
82
|
-
print "\t\t\t\t->\tissue [Id of the issue]\n\n"
|
83
|
-
print "\tnew issue comment\tAdd a comment in a specific issue\n"
|
84
|
-
print "\t\t\t\t->\tnew issue comment [Id of the issue]\n\n"
|
85
|
-
print "\topen issue\t\tOpen a closed issue\n"
|
86
|
-
print "\t\t\t\t->\topen issue [Id of the issue]\n\n"
|
87
|
-
print "\tclose issue\t\tClose an opened issue\n"
|
88
|
-
print "\t\t\t\t->\tclose issue [Id of the issue]\n\n"
|
230
|
+
self.issues(ORGS_REPO)
|
89
231
|
print "\tfiles\t\t\tShow the files of the repository path given\n"
|
90
232
|
print "\tcat\t\t\tShow data from a file\n"
|
91
233
|
print "\t\t\t\t->\tcat [file]\n\n"
|
@@ -98,11 +240,10 @@ class HelpM
|
|
98
240
|
self.common_opt
|
99
241
|
puts " Organization team options:"
|
100
242
|
print "\n\tCOMMAND\t\t\tDESCRIPTION\n\n"
|
101
|
-
|
102
|
-
|
243
|
+
self.repos(TEAM)
|
244
|
+
self.people(TEAM)
|
245
|
+
self.open(TEAM)
|
103
246
|
print "\tclone\t\t\tClone a repository or a list of repositories using a regular expresion\n"
|
104
|
-
print "\tnew repository\t\tCreate a repository to this team\n"
|
105
|
-
print "\t\t\t\t->\tnew repository [name]\n\n"
|
106
247
|
print "\tadd team member\t\tAdd a member in the team\n\n"
|
107
248
|
print "\t\t\t\t->\tadd team member [new member]\n\n"
|
108
249
|
end
|
@@ -111,19 +252,10 @@ class HelpM
|
|
111
252
|
self.common_opt
|
112
253
|
puts " Repository options:"
|
113
254
|
print "\n\tCOMMAND\t\t\tDESCRIPTION\n\n"
|
114
|
-
|
115
|
-
|
255
|
+
self.info(USER_REPO)
|
256
|
+
self.open(USER_REPO)
|
116
257
|
print "\tcommits\t\t\tShow the list of commits from the repository\n"
|
117
|
-
|
118
|
-
print "\tissues\t\t\tShow the list of issues from the repository\n"
|
119
|
-
print "\tissue\t\t\tShow the issue and its comments\n"
|
120
|
-
print "\t\t\t\t->\tissue [Id of the issue]\n\n"
|
121
|
-
print "\tnew issue comment\tAdd a comment in a specific issue\n"
|
122
|
-
print "\t\t\t\->\tnew issue comment [Id of the issue]\n\n"
|
123
|
-
print "\topen issue\t\tOpen a closed issue\n"
|
124
|
-
print "\t\t\t\t->\topen issue [Id of the issue]\n\n"
|
125
|
-
print "\tclose issue\t\tClose an opened issue\n"
|
126
|
-
print "\t\t\t\t->\tclose issue [Id of the issue]\n\n"
|
258
|
+
self.issues(USER_REPO)
|
127
259
|
print "\tfiles\t\t\tShow the files of the repository path given\n"
|
128
260
|
print "\tcat\t\t\tShow data from a file\n"
|
129
261
|
print "\t\t\t\t->\tcat [file]\n\n"
|
@@ -137,7 +269,7 @@ class HelpM
|
|
137
269
|
self.common_opt
|
138
270
|
puts " Assignment options:"
|
139
271
|
print "\n\tCOMMAND\t\t\tDESCRIPTION\n\n"
|
140
|
-
|
272
|
+
self.info(ASSIG)
|
141
273
|
print "\tadd repo\t\tAdd or create the repository of the assignment\n"
|
142
274
|
print "\tchange repo\t\tChange a repository of the assignment\n"
|
143
275
|
print "\t\t\t\t->\tchange repo [number of the repo]\n\n"
|
@@ -150,7 +282,7 @@ class HelpM
|
|
150
282
|
print "\t\t\t\t->\trm group [name]\n\n"
|
151
283
|
print "\t\t\t\tTo delete all the groups list, use the parameter -all.\n"
|
152
284
|
print "\t\t\t\t->\trm group -all\n\n"
|
153
|
-
|
285
|
+
self.open(ASSIG)
|
154
286
|
print "\tadd students\t\tAdd new students to the assignment\n"
|
155
287
|
print "\trm student\t\tDelete a student from the assignment list.\n"
|
156
288
|
print "\t\t\t\t->\trm student [name]\n\n"
|
@@ -163,19 +295,10 @@ class HelpM
|
|
163
295
|
self.common_opt
|
164
296
|
puts " Repository options:"
|
165
297
|
print "\n\tCOMMAND\t\t\tDESCRIPTION\n\n"
|
166
|
-
|
167
|
-
|
298
|
+
self.info(TEAM_REPO)
|
299
|
+
self.open(TEAM_REPO)
|
168
300
|
print "\tcommits\t\t\tShow the list of commits from the repository\n"
|
169
|
-
|
170
|
-
print "\tissues\t\t\tShow the list of issues from the repository\n"
|
171
|
-
print "\tissue\t\t\tShow the issue and its comments\n"
|
172
|
-
print "\tnew issue comment\tAdd a comment in a specific issue\n"
|
173
|
-
print "\t\t\t\t->\tnew issue comment [Id of the issue]\n\n"
|
174
|
-
print "\t\t\t\t->\tissue [Id of the issue]\n\n"
|
175
|
-
print "\topen issue\t\tOpen a closed issue\n"
|
176
|
-
print "\t\t\t\t->\topen issue [Id of the issue]\n\n"
|
177
|
-
print "\tclose issue\t\tClose an opened issue\n"
|
178
|
-
print "\t\t\t\t->\tclose issue [Id of the issue]\n\n"
|
301
|
+
self.issues(TEAM_REPO)
|
179
302
|
print "\tfiles\t\t\tShow the files of the repository path given\n"
|
180
303
|
print "\tcat\t\t\tShow data from a file\n"
|
181
304
|
print "\t\t\t\t->\tcat [file]\n\n"
|
@@ -194,15 +317,7 @@ class HelpM
|
|
194
317
|
print "\t\t\t\t->\tdo [filename]\n\n"
|
195
318
|
print "\texit\t\t\tExit from this program\n"
|
196
319
|
print "\thelp\t\t\tList of commands available\n"
|
197
|
-
|
198
|
-
print "\t\t\t\t->\tcd [path]\n\n"
|
199
|
-
print "\t\t\t\tFor going to the user root path use cd without argument:\n"
|
200
|
-
print "\t\t\t\t->\tcd\n\n"
|
201
|
-
print "\t\t\t\tYou can go back to the previous level with the argument ".."\n"
|
202
|
-
print "\t\t\t\t->\tcd [..]\n\n"
|
203
|
-
print "\t\t\t\tDefault search look for repositories at the end of the queue.\n"
|
204
|
-
print "\t\t\t\tIf you want to look for an specific repository use: \n"
|
205
|
-
print "\t\t\t\t->\tcd repo [name] \n\n"
|
320
|
+
self.cd(1)
|
206
321
|
print "\t!\t\t\tExecute a bash command\n\n"
|
207
322
|
end
|
208
323
|
|
data/lib/actions/orgs.rb
CHANGED
@@ -69,17 +69,17 @@ class Organizations
|
|
69
69
|
puts "\n"
|
70
70
|
puts "Assignment: #{name}"
|
71
71
|
puts "1) Add a repository already created "
|
72
|
-
|
73
|
-
puts "
|
72
|
+
puts "2) Create a new empty repository"
|
73
|
+
puts "3) Don't assign a repository yet"
|
74
74
|
print "option => "
|
75
75
|
op=gets.chomp
|
76
76
|
puts "\n"
|
77
|
-
if op=="1" or op=="2"
|
77
|
+
if op=="1" or op=="2" or op=="3"
|
78
78
|
ex=true
|
79
79
|
end
|
80
80
|
end
|
81
81
|
case
|
82
|
-
when op=="1"
|
82
|
+
when op=="1" || op=="2"
|
83
83
|
|
84
84
|
if op=="1"
|
85
85
|
ex2=false
|
@@ -111,7 +111,25 @@ class Organizations
|
|
111
111
|
end
|
112
112
|
end
|
113
113
|
end
|
114
|
-
|
114
|
+
if op=="2"
|
115
|
+
ex2=false
|
116
|
+
until ex2==true
|
117
|
+
puts "Name of the repository (To skip and add the repository later, press enter): "
|
118
|
+
reponame=gets.chomp
|
119
|
+
if reponame==""
|
120
|
+
ex2=true
|
121
|
+
else
|
122
|
+
# ex2=Repositories.new().create_repository(client,config,reponame,false,ORGS)
|
123
|
+
if client.repository?("#{config["Org"]}/#{reponame}")
|
124
|
+
puts "\e[31m Already exists a repository with that name in #{config["Org"]}\e[0m"
|
125
|
+
else
|
126
|
+
reponame="#{config["Org"]}/#{reponame}"
|
127
|
+
ex2=true
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
132
|
+
when op=="3" then reponame=""
|
115
133
|
end
|
116
134
|
return reponame
|
117
135
|
end
|
@@ -373,12 +391,21 @@ class Organizations
|
|
373
391
|
sys.create_temp("#{ENV['HOME']}/.ghedsh/temp")
|
374
392
|
puts repo
|
375
393
|
if repolist.size>1
|
376
|
-
|
377
|
-
|
394
|
+
if point>1 || assig.has_key?("sufix1")
|
395
|
+
sufix="sufix#{point}"
|
396
|
+
sufix="-#{assig["#{sufix}"]}"
|
397
|
+
else
|
398
|
+
sufix=""
|
399
|
+
end
|
378
400
|
else
|
379
401
|
sufix=""
|
380
402
|
end
|
381
403
|
point=point+1
|
404
|
+
if !client.repository?(repo)
|
405
|
+
aux=repo.split("/")
|
406
|
+
aux=aux[1]
|
407
|
+
r.create_repository(client,config,aux,false,ORGS)
|
408
|
+
end
|
382
409
|
system("git clone #{web2}#{repo}.git #{ENV['HOME']}/.ghedsh/temp/#{repo}")
|
383
410
|
if assig["groups"]!=[]
|
384
411
|
assig["groups"].each do |i|
|
@@ -689,10 +716,6 @@ class Organizations
|
|
689
716
|
else
|
690
717
|
list["orgs"].detect{|aux| aux["name"]==config["Org"]}["assigs"].detect{|aux2| aux2["name_assig"]==assig}["repo#{reponumber}"]=reponame
|
691
718
|
list["orgs"].detect{|aux| aux["name"]==config["Org"]}["assigs"].detect{|aux2| aux2["name_assig"]==assig}["#{sufix}"]=sufixname
|
692
|
-
if sufix=="sufix2" and change==nil
|
693
|
-
sufixname=self.assignment_repo_sufix("1",2)
|
694
|
-
list["orgs"].detect{|aux| aux["name"]==config["Org"]}["assigs"].detect{|aux2| aux2["name_assig"]==assig}["sufix1"]=sufixname
|
695
|
-
end
|
696
719
|
Sys.new.save_assigs("#{ENV['HOME']}/.ghedsh",list)
|
697
720
|
end
|
698
721
|
end
|
@@ -870,15 +893,26 @@ class Organizations
|
|
870
893
|
puts "No github web profile in the aditional information"
|
871
894
|
end
|
872
895
|
else
|
873
|
-
if
|
874
|
-
|
875
|
-
|
876
|
-
|
877
|
-
|
896
|
+
if field.downcase.start_with?("/") and field.downcase.end_with?("/") ##regexp
|
897
|
+
field=field.delete("/")
|
898
|
+
inuser.each_value do |j|
|
899
|
+
if j.include?(field)
|
900
|
+
if j.include?("https://") || j.include?("http://")
|
901
|
+
Sys.new.open_url(j)
|
902
|
+
end
|
903
|
+
end
|
878
904
|
end
|
879
|
-
Sys.new.open_url(url)
|
880
905
|
else
|
881
|
-
|
906
|
+
if inuser.keys.include?(field.downcase)
|
907
|
+
if inuser[field.downcase].include?("https://") or inuser[field.downcase].include?("http://")
|
908
|
+
url=inuser["#{field.downcase}"]
|
909
|
+
else
|
910
|
+
url="http://"+inuser["#{field.downcase}"]
|
911
|
+
end
|
912
|
+
Sys.new.open_url(url)
|
913
|
+
else
|
914
|
+
puts "No field found with that name"
|
915
|
+
end
|
882
916
|
end
|
883
917
|
end
|
884
918
|
end
|
data/lib/actions/system.rb
CHANGED
data/lib/interface.rb
CHANGED
@@ -79,23 +79,27 @@ class Interface
|
|
79
79
|
end
|
80
80
|
end
|
81
81
|
|
82
|
-
def help()
|
82
|
+
def help(opcd)
|
83
83
|
h=HelpM.new()
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
84
|
+
if opcd.size>1
|
85
|
+
h.context(opcd[1..opcd.size-1],@deep)
|
86
|
+
else
|
87
|
+
case
|
88
|
+
when @deep == USER
|
89
|
+
h.user()
|
90
|
+
when @deep == ORGS
|
91
|
+
h.org()
|
92
|
+
when @deep == ORGS_REPO
|
93
|
+
h.org_repo()
|
94
|
+
when @deep == USER_REPO
|
95
|
+
h.user_repo()
|
96
|
+
when @deep == TEAM
|
97
|
+
h.orgs_teams()
|
98
|
+
when @deep == TEAM_REPO
|
99
|
+
h.team_repo()
|
100
|
+
when @deep == ASSIG
|
101
|
+
h.asssig()
|
102
|
+
end
|
99
103
|
end
|
100
104
|
end
|
101
105
|
|
@@ -208,49 +212,6 @@ class Interface
|
|
208
212
|
when @deep == TEAM
|
209
213
|
self.set(path)
|
210
214
|
end
|
211
|
-
else ##CD con path absoluto
|
212
|
-
case
|
213
|
-
when @deep==USER
|
214
|
-
if @orgs_list.empty?
|
215
|
-
@orgs_list=Organizations.new.read_orgs(@client)
|
216
|
-
end
|
217
|
-
aux=@orgs_list
|
218
|
-
if aux.one?{|aux| aux==path_split[0]}
|
219
|
-
@config["Org"]=path_split[0]
|
220
|
-
@deep=ORGS
|
221
|
-
if @teamlist.empty?
|
222
|
-
@teamlist=Teams.new.read_teamlist(@client,@config)
|
223
|
-
end
|
224
|
-
aux=@teamlist
|
225
|
-
if aux[path_split[1]]!=nil
|
226
|
-
@config["Team"]=path_split[1]
|
227
|
-
@config["TeamID"]=@teamlist[path_split[1]]
|
228
|
-
@deep=TEAM
|
229
|
-
if path_split.size>2
|
230
|
-
self.set(path_split[2])
|
231
|
-
end
|
232
|
-
else
|
233
|
-
#puts "\nNo team is available with that name"
|
234
|
-
self.set(path_split[1])
|
235
|
-
end
|
236
|
-
else
|
237
|
-
#puts "\nNo organization is available with that name"
|
238
|
-
self.set(path)
|
239
|
-
end
|
240
|
-
when @deep==ORGS
|
241
|
-
if @teamlist==[]
|
242
|
-
@teamlist=Teams.new.read_teamlist(@client,@config)
|
243
|
-
end
|
244
|
-
aux=@teamlist
|
245
|
-
if aux[path_split[0]]!=nil
|
246
|
-
@config["Team"]=path_split[0]
|
247
|
-
@config["TeamID"]=@teamlist[path_split[0]]
|
248
|
-
@deep=TEAM
|
249
|
-
self.set(path_split[1])
|
250
|
-
else
|
251
|
-
#puts "\nNo team is available with that name"
|
252
|
-
end
|
253
|
-
end
|
254
215
|
end
|
255
216
|
end
|
256
217
|
|
@@ -479,7 +440,7 @@ class Interface
|
|
479
440
|
else
|
480
441
|
op=opscript[0]
|
481
442
|
opcd=op.split
|
482
|
-
opscript.
|
443
|
+
opscript.shift
|
483
444
|
end
|
484
445
|
|
485
446
|
case
|
@@ -487,7 +448,7 @@ class Interface
|
|
487
448
|
@sysbh.save_memory(config_path,@config)
|
488
449
|
s.save_cache(config_path,@config)
|
489
450
|
s.remove_temp("#{ENV['HOME']}/.ghedsh/temp")
|
490
|
-
when op ==
|
451
|
+
when op.include?("help") && opcd[0]=="help" then self.help(opcd)
|
491
452
|
when op == "orgs" then self.orgs()
|
492
453
|
when op == "cd .."
|
493
454
|
if @deep==ORGS then t.clean_groupsteams() end ##cleans groups cache
|
@@ -691,12 +652,19 @@ class Interface
|
|
691
652
|
if opcd[1]=="repo" and opcd.size>2
|
692
653
|
self.set(opcd[2])
|
693
654
|
else
|
694
|
-
|
655
|
+
if opcd[1].include?("/")
|
656
|
+
cdlist=opcd[1].split("/")
|
657
|
+
cdlist.each do |i|
|
658
|
+
opscript.push("cd #{i}")
|
659
|
+
end
|
660
|
+
else
|
661
|
+
self.cd(opcd[1])
|
662
|
+
end
|
695
663
|
end
|
696
664
|
end
|
697
665
|
end
|
698
666
|
if opcd[0]=="do" and opcd.size>1
|
699
|
-
|
667
|
+
opscript=s.load_script(opcd[1])
|
700
668
|
end
|
701
669
|
if opcd[0]=="set"
|
702
670
|
self.set(opcd[1])
|
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.37
|
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: 2017-05-
|
12
|
+
date: 2017-05-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: octokit
|