ghedsh 1.0.9 → 1.1.0

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: 6fc699d10082be7c5e41ca1458466e3759383f00
4
- data.tar.gz: a67fc72a29d469dcc6c6bfd9e6eb19c52c6fa5a0
3
+ metadata.gz: ab0a6161c9c84b5a36a2f56e6fce1aa2c242d2f9
4
+ data.tar.gz: def800f3eb68ceb0319a21ec688a4dc144a2d575
5
5
  SHA512:
6
- metadata.gz: 3faeaca7f2cdf65f8553ecf067eb33842081eec252b519177d9b0a3f77854e9141f9ca10f301f88e4366fc1139d5d82a435d6e576665d7a604d1a2ff2c08c706
7
- data.tar.gz: 1981b7ecf3d79f7c22a6dc449482f26838c5d8d53c9828b3df285489f36beab723856b29c1eaf172936f3b26c6a7d242d2cf2f6726fe15c61790d81dfd97b0a0
6
+ metadata.gz: 294b7a5de1cd94fdf38696b75c6e9e6b8751add689da677b0ada55e6cc8d9df4fc52b5026f516448a6d59215dce50d9f98f41e929155a0515492c933bf965db7
7
+ data.tar.gz: 49d714cdf531fb7179b9ad04a4399ccbdf81f81f792b59e8aaf5a62a13c1e32fde83fa09db4e9add73336846f80b9af10e942473b4fc3980a200d4fdc3964e2d
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  A command line program following the philosophy of GitHub Education.
4
4
 
5
- ##How does it works?
5
+ ##How does it work?
6
6
 
7
7
  This program give you an interaction with Github like you was using your command line simulating a tree structure. Each level on the tree gives you several options of managing your Github account or your Organization.
8
8
 
data/ghedsh.gemspec CHANGED
@@ -1,8 +1,10 @@
1
+ require './lib/version'
2
+
1
3
  Gem::Specification.new do |s|
2
4
  s.name = 'ghedsh'
3
- s.version = '1.0.9'
5
+ s.version = Ghedsh::VERSION
4
6
  s.summary ="A command line program following the philosophy of GitHub Education."
5
- s.description = "See https://github.com/ULL-ESIT-GRADOII-TFG/ghedsh"
7
+ s.description = "Visit https://github.com/ULL-ESIT-GRADOII-TFG/ghedsh"
6
8
  s.authors = ["Javier Clemente", "Casiano Rodriguez-Leon"]
7
9
  s.email = 'nookstyle@gmail.com'
8
10
  s.licenses = ['MIT']
data/lib/actions/repo.rb CHANGED
@@ -42,6 +42,25 @@ class Repositories
42
42
  return reposlist
43
43
  end
44
44
 
45
+ def show_repos_smart(client,config,exp,scope)
46
+ reposlist=[]
47
+ case
48
+ when scope==1
49
+ repo=client.repositories
50
+ when scope==2
51
+ repo=client.organization_repositories(config["Org"])
52
+ when scope==3
53
+ repo=client.team_repositories(config["TeamID"])
54
+ end
55
+ repo.each do |i|
56
+ reposlist.push(i.name)
57
+ end
58
+
59
+ reposlist=Sys.new.search_rexp(reposlist,exp)
60
+ puts reposlist
61
+ return reposlist
62
+ end
63
+
45
64
  def show_forks(client,config,scope)
46
65
  print "\n"
47
66
  forklist=[]
@@ -110,4 +129,23 @@ class Repositories
110
129
  y=y+1
111
130
  end
112
131
  end
132
+
133
+ def clone_repo(client,config,list,exp,scope)
134
+ web="https://github.com/"
135
+ web2="git@github.com:"
136
+
137
+ list=Sys.new.search_rexp(list,exp)
138
+ if (list.empty?) == false
139
+ case
140
+ when scope==1
141
+ command = "git clone #{web}#{@config["User"]}/#{list[i]}.git"
142
+ system(command)
143
+ when scope==2
144
+ command = "git clone #{web}#{@config["Org"]}/#{list[i]}.git"
145
+ system(command)
146
+ end
147
+ else
148
+ puts "No repositories found it with the parameters given"
149
+ end
150
+ end
113
151
  end
@@ -1,19 +1,27 @@
1
1
  require 'readline'
2
2
  require 'octokit'
3
3
  require 'json'
4
- require 'require_all'
5
- require_rel '.'
4
+ require 'actions/system'
5
+ require 'version'
6
6
 
7
7
  class Sys
8
8
 
9
9
  def load_config(configure_path)
10
- json = File.read(configure_path)
11
- config=JSON.parse(json)
10
+ if (File.exist?(configure_path))==true
11
+ json = File.read(configure_path)
12
+ config=JSON.parse(json)
12
13
 
13
- if config["User"] == nil
14
- return self.set_loguin_data_sh(config)
14
+ if config["User"] == nil
15
+ return self.set_loguin_data_sh(config)
16
+ else
17
+ return config
18
+ end
15
19
  else
16
- return config
20
+ configure_path="#{ENV['GEM_HOME']}/gems/ghedsh-#{Ghedsh::VERSION}/lib/configure/configure.json"
21
+ if (File.exist?(configure_path))==false
22
+ self.create_config(configure_path)
23
+ end
24
+ load_config(configure_path)
17
25
  end
18
26
  end
19
27
 
@@ -27,8 +35,17 @@ class Sys
27
35
  #end
28
36
  end
29
37
 
38
+ def create_config(path)
39
+ con={:User=>nil,:Token=>nil,:Org=>nil,:Repo=>nil,:Team=>nil,:TeamID=>nil}
40
+ File.write(path,con.to_json)
41
+ end
42
+
30
43
  def save_config(data)
31
- File.write('./lib/configure/configure.json', data.to_json)
44
+ if (File.exist?('./lib/configure/configure.json'))==true
45
+ File.write('./lib/configure/configure.json', data.to_json)
46
+ else
47
+ File.write("#{ENV['GEM_HOME']}/gems/ghedsh-#{Ghedsh::VERSION}/lib/configure/configure.json", data.to_json)
48
+ end
32
49
  end
33
50
 
34
51
  def save_db(data)
@@ -52,11 +69,17 @@ class Sys
52
69
  token = gets.chomp
53
70
  us=self.login(token)
54
71
  if us!=nil
55
- puts "Login succesful ",us.login
72
+ puts "Login succesful as #{us.login}"
56
73
  config["User"]=us.login
57
74
  config["Token"]=token
58
75
  return config
59
76
  end
60
77
  end
61
78
 
79
+ def search_rexp(list,exp)
80
+ list= list.select{|o| o.match(/#{exp}/)}
81
+ #puts list
82
+ return list
83
+ end
84
+
62
85
  end
data/lib/interface.rb CHANGED
@@ -245,7 +245,7 @@ class Interface
245
245
  case
246
246
  when op == "exit" then ex=0
247
247
  when op == "help" then self.help()
248
- when op == "repos" then self.repos()
248
+ #when op == "repos" then self.repos()
249
249
  #when op == "ls -l" then self.lsl()
250
250
  when op == "orgs" then self.orgs()
251
251
  when op == "cd .." then self.cdback()
@@ -266,6 +266,19 @@ class Interface
266
266
  if opcd[0]=="set"
267
267
  self.set(opcd[1])
268
268
  end
269
+ if opcd[0]=="repos" and opcd.size==1
270
+ self.repos()
271
+ end
272
+ if opcd[0]=="repos" and opcd.size>1
273
+ case
274
+ when @deep==1
275
+ r.show_repos_smart(@client,@config,opcd[1],1)
276
+ when @deep==2
277
+ r.show_repos_smart(@client,@config,opcd[1],2)
278
+ when @deep==3
279
+ r.show_repos_smart(@client,@config,opcd[1],3)
280
+ end
281
+ end
269
282
  if opcd[0]=="add_team_member"
270
283
  t.add_to_team(@client,@config,opcd[1])
271
284
  end
@@ -301,6 +314,13 @@ class Interface
301
314
  r.create_repository_by_teamlist(@client,@config,opcd[1],opcd[2,opcd.size],self.get_teamlist(opcd[2,opcd.size]))
302
315
  end
303
316
  end
317
+
318
+ if opcd[0]=="clone_repo" and opcd.size==2
319
+ end
320
+
321
+ if opcd[0]=="clone_repo" and opcd.size>2
322
+ #r.clone_repo(@client,@confing,opcd[1])
323
+ end
304
324
  end
305
325
  else
306
326
  Sys.new.set_loguin_data_sh()
data/lib/version.rb ADDED
@@ -0,0 +1,3 @@
1
+ module Ghedsh
2
+ VERSION='1.1.0'
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.0.9
4
+ version: 1.1.0
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-06 00:00:00.000000000 Z
12
+ date: 2016-04-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: octokit
@@ -67,7 +67,7 @@ dependencies:
67
67
  - - "~>"
68
68
  - !ruby/object:Gem::Version
69
69
  version: '1.5'
70
- description: See https://github.com/ULL-ESIT-GRADOII-TFG/ghedsh
70
+ description: Visit https://github.com/ULL-ESIT-GRADOII-TFG/ghedsh
71
71
  email: nookstyle@gmail.com
72
72
  executables:
73
73
  - ghedsh
@@ -89,6 +89,7 @@ files:
89
89
  - lib/configure/configure_template.json
90
90
  - lib/db/assignments.json
91
91
  - lib/interface.rb
92
+ - lib/version.rb
92
93
  - spec/spec.rb
93
94
  homepage: https://github.com/ULL-ESIT-GRADOII-TFG/ghedsh
94
95
  licenses: