ghedsh 1.1.18 → 1.1.19
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +6 -1
- data/lib/actions/orgs.rb +40 -0
- data/lib/actions/repo.rb +1 -1
- data/lib/actions/system.rb +1 -1
- data/lib/actions/teams.rb +8 -0
- data/lib/interface.rb +5 -1
- 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: 0a2ec1d8b2fd095c583e532595ee68fe18b6b53f
|
4
|
+
data.tar.gz: 9b6a3fbe5ec29a58cae30595eb2619391d21093d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 11f9343de0221abdc6c56d3eaf200a67e2e1ed14de797d3eff0889e269741b5e4efa047266887522c0ff427c569bcd7e577ac91e7d320e5578b428142a6ad38f
|
7
|
+
data.tar.gz: 9698941036512841612c7d370e44e3bfcf3b157b756eb60b48f7e63879b3434b8f667575f3f2d9f4d6a62de1a16c948566de4afe5411b83e78f181f007c19489
|
data/README.md
CHANGED
@@ -135,7 +135,12 @@ Muestra las tareas o asignaciones hechas para una organizacion.
|
|
135
135
|
```sh
|
136
136
|
new_assignment <nombre>
|
137
137
|
```
|
138
|
-
Crea una
|
138
|
+
Crea una asignacion para una organizacion. Espera por parametro el nombre. Tras ejecutar el comando pedira un repositorio ya existente, la creacion de uno nuevo o la no insercion de un repositorio. Ademas esperara una lista de grupos para asignar a la tarea.
|
139
|
+
|
140
|
+
```sh
|
141
|
+
make <nombre>
|
142
|
+
```
|
143
|
+
Situado dentro de una asignacion o tarea, se creara un repositorio para cada equipo que pertenezca al grupo o grupos asignados.
|
139
144
|
|
140
145
|
```sh
|
141
146
|
clone <nombre>
|
data/lib/actions/orgs.rb
CHANGED
@@ -123,7 +123,47 @@ class Organizations
|
|
123
123
|
return assiglist
|
124
124
|
end
|
125
125
|
|
126
|
+
def get_single_assig(config,wanted)
|
127
|
+
list=self.load_assig()
|
128
|
+
as=list["orgs"].detect{|aux| aux["name"]==config["Org"]}
|
129
|
+
as=as["assigs"].detect{|aux| aux["name_assig"]==wanted}
|
130
|
+
puts as
|
131
|
+
return as
|
132
|
+
end
|
126
133
|
|
134
|
+
def make_assig(client,config,assig)
|
135
|
+
web="https://github.com/"
|
136
|
+
web2="git@github.com:"
|
137
|
+
repo=Repositories.new()
|
138
|
+
team=Teams.new()
|
139
|
+
teamlist=team.read_teamlist(client,config)
|
140
|
+
assig=self.get_single_assig(config,assig)
|
141
|
+
|
142
|
+
if assig["repo"]!=""
|
143
|
+
|
144
|
+
system("git clone #{web2}#{config["Org"]}/#{assig["repo"]}.git")
|
145
|
+
system("git-C #{assig["repo"]} remote rename origin professor")
|
146
|
+
|
147
|
+
assig["groups"].each do |i|
|
148
|
+
teamsforgroup=team.get_single_group(config,i)
|
149
|
+
teamsforgroup.each do |y|
|
150
|
+
config["TeamID"]=teamlist["#{y}"]
|
151
|
+
config["Team"]=y
|
152
|
+
repo.create_repository(client,config,"#{y}-#{assig["name_assig"]}",TEAM)
|
153
|
+
#system("git-C #{assig["repo"]} remote rm origin")
|
154
|
+
# system("git -C #{assig["repo"]} remote add origin #{web2}#{config["Org"]}/#{y}-#{assig["name_assig"]}.git")
|
155
|
+
|
156
|
+
#system("git -C #{assig["repo"]} remote set-url origin #{web2}#{config["Org"]}/#{y}-#{assig["name_assig"]}.git")
|
157
|
+
system("git -C #{assig["repo"]} remote add #{y} #{web2}#{config["Org"]}/#{y}-#{assig["name_assig"]}.git")
|
158
|
+
system("git -C #{assig["repo"]} push #{y} --all")
|
159
|
+
end
|
160
|
+
end
|
161
|
+
else
|
162
|
+
puts "No repository is given for this assignment"
|
163
|
+
end
|
164
|
+
|
165
|
+
|
166
|
+
end
|
127
167
|
|
128
168
|
def add_team_to_assig(client,config,data)
|
129
169
|
|
data/lib/actions/repo.rb
CHANGED
@@ -241,7 +241,7 @@ class Repositories
|
|
241
241
|
puts "created repository in #{config["Org"]} team"
|
242
242
|
options[:team_id]=config["TeamID"]
|
243
243
|
options[:organization]=config["Org"]
|
244
|
-
client.create_repository(
|
244
|
+
client.create_repository(repo,options)
|
245
245
|
end
|
246
246
|
end
|
247
247
|
|
data/lib/actions/system.rb
CHANGED
@@ -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 '].sort
|
13
|
+
'version', 'cat ', 'groups', 'files', 'assignments','new_issue ', 'open_issue', 'new_','open_', 'new_group ', 'rm_group', 'rm_', 'do ', 'make'].sort
|
14
14
|
|
15
15
|
def initialize()
|
16
16
|
@memory=[]
|
data/lib/actions/teams.rb
CHANGED
@@ -126,6 +126,14 @@ class Teams
|
|
126
126
|
return grouplist
|
127
127
|
end
|
128
128
|
|
129
|
+
def get_single_group(config,wanted)
|
130
|
+
sys=Sys.new()
|
131
|
+
list=sys.load_groups("#{ENV['HOME']}/.ghedsh")
|
132
|
+
w=list["orgs"].detect{|aux| aux["name"]==config["Org"]}
|
133
|
+
w=w["groups"].detect{|aux| aux["name_group"]==wanted}
|
134
|
+
return w["teams"]
|
135
|
+
end
|
136
|
+
|
129
137
|
def new_group(client,config,name,listgroups)
|
130
138
|
sys=Sys.new()
|
131
139
|
list=sys.load_groups("#{ENV['HOME']}/.ghedsh")
|
data/lib/interface.rb
CHANGED
@@ -482,7 +482,11 @@ class Interface
|
|
482
482
|
puts "GitHub Education Shell v#{Ghedsh::VERSION}"
|
483
483
|
when op == "assignments"
|
484
484
|
if @deep==ORGS
|
485
|
-
o.show_assignments(@
|
485
|
+
o.show_assignments(@client,@config)
|
486
|
+
end
|
487
|
+
when op =="make"
|
488
|
+
if @deep==ASSIG
|
489
|
+
o.make_assig(@client,@config,@assig_path)
|
486
490
|
end
|
487
491
|
end
|
488
492
|
|
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.19
|
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-
|
12
|
+
date: 2016-06-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: octokit
|