ghedsh 1.1.19 → 1.1.20

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0a2ec1d8b2fd095c583e532595ee68fe18b6b53f
4
- data.tar.gz: 9b6a3fbe5ec29a58cae30595eb2619391d21093d
3
+ metadata.gz: df4f9b762bbed5fa79231616af6df96b34954dba
4
+ data.tar.gz: 76d67595bfba20f88780bbbdbe83856f30ff8794
5
5
  SHA512:
6
- metadata.gz: 11f9343de0221abdc6c56d3eaf200a67e2e1ed14de797d3eff0889e269741b5e4efa047266887522c0ff427c569bcd7e577ac91e7d320e5578b428142a6ad38f
7
- data.tar.gz: 9698941036512841612c7d370e44e3bfcf3b157b756eb60b48f7e63879b3434b8f667575f3f2d9f4d6a62de1a16c948566de4afe5411b83e78f181f007c19489
6
+ metadata.gz: 83f259674514ecbfea88048e0c7d43b05596c33a47380d94939666d7dca96b583a80264f5487ea90c34daf57c128f7c1d34187cf15d28033ea2f3bd621666aac
7
+ data.tar.gz: ff59f9e13672b1a326f9e6003b5c92c3ea10d9612e85dc6ac560376a8ff6531a917a873b073be8898f990fee9b70a1a115c0b7f23e24b4fb9dec153b81f680e8
data/lib/actions/orgs.rb CHANGED
@@ -45,17 +45,10 @@ class Organizations
45
45
 
46
46
  end
47
47
 
48
- def create_assig(client,config,name)
49
- list=self.load_assig()
50
- assigs=list["orgs"].detect{|aux| aux["name"]==config["Org"]}
51
-
52
- if assigs==nil
53
- list["orgs"].push({"name"=>config["Org"],"assigs"=>[]})
54
- Sys.new.save_assigs("#{ENV['HOME']}/.ghedsh",list)
55
- end
56
-
48
+ def assignment_repository(client,config,name)
57
49
  ex=false
58
50
  until ex==true
51
+ puts "\n"
59
52
  puts "Assignment: #{name}"
60
53
  puts "1) Add a repository already created "
61
54
  puts "2) Create a new empty repository"
@@ -66,35 +59,74 @@ class Organizations
66
59
  ex=true
67
60
  end
68
61
  end
69
-
70
62
  case
71
63
  when op=="1" || op=="2"
72
64
  puts "Name of the repository: "
73
65
  reponame=gets.chomp
74
- if client.repository?("#{config["Org"]}/#{reponame}")==false
75
- puts "The repository #{reponame} doesn't exist"
76
- reponame=nil
66
+ if op==1
67
+ if client.repository?("#{config["Org"]}/#{reponame}")==false
68
+ puts "The repository #{reponame} doesn't exist"
69
+ reponame=""
70
+ end
77
71
  end
78
72
  if op=="2"
79
73
  Repositories.new().create_repository(client,config,reponame,ORGS)
80
74
  end
81
75
  when op=="3" then reponame=""
82
76
  end
77
+ return reponame
78
+ end
83
79
 
84
- groupslist=Teams.new().get_groupslist(config)
80
+ def assignment_groups(client,config)
81
+ team=Teams.new()
82
+ groupslist=team.get_groupslist(config)
83
+ groupsadd=[]
84
+ puts "\n"
85
85
  puts "Add groups to your assignment (Press enter to skip): "
86
86
  op=gets.chomp
87
- if op!=nil
87
+ if op==""
88
+ puts "Do you want to create a new group? (Press any key to preceed, or only enter to skip)"
89
+ an=gets.chomp
90
+
91
+ if an!=""
92
+ time=Time.new
93
+ puts "Put the name of the group (If you skip with enter, the group's name will be \"Group-#{time.ctime}\")"
94
+ name=gets.chomp
95
+ if name==""
96
+ name="Group-#{time.ctime}"
97
+ name=name.split(" ").join("-")
98
+ end
99
+ puts "Put a list of Teams"
100
+ list=gets.chomp
101
+ list=list.split(" ")
102
+ team.new_group(client,config,name,list)
103
+ groupsadd.push(name)
104
+ else
105
+ groupsadd=[]
106
+ end
88
107
 
108
+ else
89
109
  groupsadd=op.split(" ")
90
110
  groupsadd.each do |item|
91
111
  if groupslist.detect{|aux| aux==item}==nil
92
112
  groupsadd.delete(item)
93
113
  end
94
114
  end
95
- else
96
- groupsadd=[]
97
115
  end
116
+ return groupsadd
117
+ end
118
+
119
+ def create_assig(client,config,name)
120
+ list=self.load_assig()
121
+ assigs=list["orgs"].detect{|aux| aux["name"]==config["Org"]}
122
+
123
+ if assigs==nil
124
+ list["orgs"].push({"name"=>config["Org"],"assigs"=>[]})
125
+ Sys.new.save_assigs("#{ENV['HOME']}/.ghedsh",list)
126
+ end
127
+
128
+ reponame=self.assignment_repository(client,config,name)
129
+ groupsadd=self.assignment_groups(client,config)
98
130
 
99
131
  begin
100
132
  list["orgs"][list["orgs"].index{|aux| aux["name"]==config["Org"]}]["assigs"].push({"name_assig"=>name,"teams"=>[],"groups"=>groupsadd,"repo"=>reponame})
@@ -127,10 +159,22 @@ class Organizations
127
159
  list=self.load_assig()
128
160
  as=list["orgs"].detect{|aux| aux["name"]==config["Org"]}
129
161
  as=as["assigs"].detect{|aux| aux["name_assig"]==wanted}
130
- puts as
131
162
  return as
132
163
  end
133
164
 
165
+ def show_assig_info(config,assig)
166
+ assig=self.get_single_assig(config,assig)
167
+ puts "\n"
168
+ puts assig["name_assig"]
169
+ puts "Repository: #{assig["repo"]}"
170
+ print "Groups: "
171
+ assig["groups"].each do |y|
172
+ print y
173
+ print " "
174
+ end
175
+ puts "\n\n"
176
+ end
177
+
134
178
  def make_assig(client,config,assig)
135
179
  web="https://github.com/"
136
180
  web2="git@github.com:"
@@ -165,21 +209,33 @@ class Organizations
165
209
 
166
210
  end
167
211
 
168
- def add_team_to_assig(client,config,data)
212
+ def add_team_to_assig(client,config,assig,data)
213
+ assig=self.get_single_assig(config,assig)
214
+
169
215
 
170
216
  end
171
217
 
172
- def add_group_to_assig(client,config,data)
218
+ def add_group_to_assig(client,config,assig)
219
+ list=self.load_assig()
173
220
 
221
+ groups=self.assignment_groups(client,config)
222
+ if groups!=""
223
+ groups.each do |i|
224
+ list["orgs"].detect{|aux| aux["name"]==config["Org"]}["assigs"].detect{|aux2| aux2["name_assig"]==assig}["groups"].push(i)
225
+ end
226
+ Sys.new.save_assigs("#{ENV['HOME']}/.ghedsh",list)
227
+ end
174
228
  end
175
229
 
176
- def add_repo_to_assig(client,config,data)
177
- options=Hash.new
178
- options[:organization]=config["Org"]
179
- options[:auto_init]=true
180
230
 
181
- client.create_repository(data,options)
231
+ def add_repo_to_assig(client,config,assig)
232
+ list=self.load_assig()
182
233
 
234
+ reponame=self.assignment_repository(client,config,assig["name_assig"])
235
+ if reponame!=""
236
+ list["orgs"].detect{|aux| aux["name"]==config["Org"]}["assigs"].detect{|aux2| aux2["name_assig"]==assig}["repo"]=reponame
237
+ Sys.new.save_assigs("#{ENV['HOME']}/.ghedsh",list)
238
+ end
183
239
  end
184
240
  #------------End assig. stuff------------
185
241
 
data/lib/actions/repo.rb CHANGED
@@ -33,7 +33,7 @@ class Repositories
33
33
  end
34
34
  end
35
35
 
36
- def open_issue(client,config,scope)
36
+ def create_issue(client,config,scope)
37
37
  puts "Insert Issue tittle: "
38
38
  tittle=gets.chomp
39
39
  puts "Add a description: "
@@ -65,6 +65,19 @@ class Repositories
65
65
  end
66
66
  end
67
67
 
68
+ def open_issue(client,config,scope,id)
69
+ case
70
+ when scope==USER_REPO
71
+ if config["Repo"].split("/").size == 1
72
+ client.reopen_issue(config["User"]+"/"+config["Repo"],id)
73
+ else
74
+ client.reopen_issue(config["Repo"],id)
75
+ end
76
+ when scope==ORGS_REPO || scope==TEAM_REPO
77
+ client.reopen_issue(config["Org"]+"/"+config["Repo"],id)
78
+ end
79
+ end
80
+
68
81
  def show_issues(client,config,scope)
69
82
  print "\n"
70
83
  case
@@ -10,7 +10,7 @@ class Sys
10
10
  attr_reader :client
11
11
  attr_reader :memory
12
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 ', 'issues',
13
- 'version', 'cat ', 'groups', 'files', 'assignments','new_issue ', 'open_issue', 'new_','open_', 'new_group ', 'rm_group', 'rm_', 'do ', 'make'].sort
13
+ 'version', 'cat ', 'groups', 'files', 'assignments','new_issue ', 'open_issue', 'new_','open_', 'close_issue', 'new_group ', 'rm_group', 'rm_', 'do ', 'info','make','add_repo','add_group'].sort
14
14
 
15
15
  def initialize()
16
16
  @memory=[]
data/lib/interface.rb CHANGED
@@ -183,7 +183,7 @@ class Interface
183
183
  @sysbh.add_history_str(1,@teamlist)
184
184
  @deep=2
185
185
  else
186
- puts "\nNo organization is available with that name"
186
+ #puts "\nNo organization is available with that name"
187
187
  self.set(path)
188
188
  end
189
189
  when @deep == ORGS
@@ -193,7 +193,7 @@ class Interface
193
193
  @config["TeamID"]=@teamlist[path]
194
194
  @deep=TEAM
195
195
  else
196
- puts "\nNo team is available with that name"
196
+ #puts "\nNo team is available with that name"
197
197
  if cdassig(path)==false
198
198
  self.set(path)
199
199
  end
@@ -223,11 +223,11 @@ class Interface
223
223
  self.set(path_split[2])
224
224
  end
225
225
  else
226
- puts "\nNo team is available with that name"
226
+ #puts "\nNo team is available with that name"
227
227
  self.set(path_split[1])
228
228
  end
229
229
  else
230
- puts "\nNo organization is available with that name"
230
+ #puts "\nNo organization is available with that name"
231
231
  self.set(path)
232
232
  end
233
233
  when @deep==ORGS
@@ -237,7 +237,7 @@ class Interface
237
237
  @deep=TEAM
238
238
  self.set(path_split[1])
239
239
  else
240
- puts "\nNo team is available with that name"
240
+ #puts "\nNo team is available with that name"
241
241
  end
242
242
  end
243
243
  end
@@ -282,7 +282,12 @@ class Interface
282
282
  puts "Set in #{@config["Team"]} repository: #{path}\n\n"
283
283
  end
284
284
  end
285
- if @deep==USER || @deep==ORGS || @deep==TEAM then puts "No repository is available with that name\n\n" end
285
+ #if @deep==USER || @deep==ORGS || @deep==TEAM then puts "No repository is available with that name\n\n" end
286
+ if @deep==USER || @deep==ORGS || @deep==TEAM
287
+ puts "\nNo organization is available with that name"
288
+ puts "\nNo team is available with that name"
289
+ puts "No repository is available with that name\n\n"
290
+ end
286
291
  end
287
292
 
288
293
  def cdrepo(path)
@@ -478,6 +483,12 @@ class Interface
478
483
  if @deep==ORGS
479
484
  t.list_groups(@client,@config)
480
485
  end
486
+ when op == "info"
487
+ if @deep=ASSIG then o.show_assig_info(@config,@assig_path) end
488
+ when op== "add_repo"
489
+ if @deep=ASSIG then o.add_repo_to_assig(@client,@config,@assig_path) end
490
+ when op== "add_group"
491
+ if @deep=ASSIG then o.add_group_to_assig(@client,@config,@assig_path) end
481
492
  when op == "version"
482
493
  puts "GitHub Education Shell v#{Ghedsh::VERSION}"
483
494
  when op == "assignments"
@@ -567,7 +578,7 @@ class Interface
567
578
  end
568
579
  if opcd[0]=="new_issue" and opcd.size==1
569
580
  if @deep==ORGS_REPO || @deep==USER_REPO || @deep==TEAM_REPO
570
- r.open_issue(@client,@config,@deep)
581
+ r.create_issue(@client,@config,@deep)
571
582
  end
572
583
  end
573
584
  if opcd[0]=="close_issue" and opcd.size==2
@@ -575,6 +586,11 @@ class Interface
575
586
  r.close_issue(@client,@config,@deep,opcd[1])
576
587
  end
577
588
  end
589
+ if opcd[0]=="open_issue" and opcd.size==2
590
+ if @deep==ORGS_REPO || @deep==USER_REPO || @deep==TEAM_REPO
591
+ r.open_issue(@client,@config,@deep,opcd[1])
592
+ end
593
+ end
578
594
  if opcd[0]=="rm_team"
579
595
  t.delete_team(@client,@teamlist[opcd[1]])
580
596
  self.quit_history(@teamlist[opcd[1]])
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ghedsh
2
- VERSION='1.1.19'
2
+ VERSION='1.1.20'
3
3
  end
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.19
4
+ version: 1.1.20
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-06-13 00:00:00.000000000 Z
12
+ date: 2016-06-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: octokit