ghedsh 1.1.36 → 1.1.37
Sign up to get free protection for your applications and to get access to all the features.
- 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
|