makegit 0.0.1.pre → 0.1.0.pre
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/bin/makegit +4 -2
- data/lib/makegit.rb +85 -54
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f2e0d5572fd15ff8a9f42cf1d4f6680086a1499
|
4
|
+
data.tar.gz: d58d92c0aedb7bce0c8861c6ea5b00327235ccff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d6eca5fd7536e7a7b10d5d57fa0a2995bfe03dd6459e3bf33d69d208ca8cfa6e7a671aecf289264e80f7f1add895d1b0b01c3cbd7c3182856b1cb92c3200399
|
7
|
+
data.tar.gz: d2b0fe8ccabb19c7979af764fefab460b1541110633ca62bef97cff45ec2e1a7c9dafb12ec25f3d3fb32858d36ca8989b92932780fa2a393853273b6047f4ae5
|
data/bin/makegit
CHANGED
data/lib/makegit.rb
CHANGED
@@ -1,65 +1,96 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
module Application
|
2
|
+
class Makegit
|
3
|
+
attr_reader :project_name, :git_user, :git_token
|
3
4
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
5
|
+
def initialize(argv)
|
6
|
+
@project_name = get_project_name(argv)
|
7
|
+
@git_user = get_git_user
|
8
|
+
@git_token = get_git_token
|
9
|
+
new_dir
|
10
|
+
new_local_repo
|
11
|
+
new_remote_repo
|
12
|
+
end
|
12
13
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
14
|
+
def get_git_user
|
15
|
+
user = `git config github.user`.strip
|
16
|
+
if user.empty? || user.nil?
|
17
|
+
STDOUT.puts "Warning: git config --global github.user not set"
|
18
|
+
STDOUT.puts "Let's set it now..."
|
19
|
+
STDOUT.puts "Please enter your GitHub username:"
|
20
|
+
user = STDIN.gets.strip
|
21
|
+
set_git_config_user(user)
|
22
|
+
end
|
23
|
+
user
|
19
24
|
end
|
20
|
-
end
|
21
25
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
26
|
+
def get_git_token
|
27
|
+
token = `git config github.token`.strip
|
28
|
+
if token.empty? || token.nil?
|
29
|
+
STDOUT.puts "Warning: git config --global github.token not set"
|
30
|
+
STDOUT.puts "Let's set it now..."
|
31
|
+
STDOUT.puts "Visit https://help.github.com/articles/creating-an-access-token-for-command-line-use/"
|
32
|
+
STDOUT.puts "Then create a personal access token with the \"repo\" role set"
|
33
|
+
STDOUT.puts "Please enter your GitHub token:"
|
34
|
+
token = STDIN.gets.strip
|
35
|
+
set_git_config_token(token)
|
36
|
+
end
|
37
|
+
token
|
38
|
+
end
|
29
39
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
STDOUT.puts "Creating README.md"
|
34
|
-
File.open("README.md", "w"){ |f| f.puts "#{project_name} by #{git_user}"}
|
35
|
-
STDOUT.puts "README.md created"
|
36
|
-
end
|
40
|
+
def set_git_config_user(user)
|
41
|
+
system("git config --global github.user #{user}")
|
42
|
+
end
|
37
43
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
system("git add .")
|
42
|
-
system("git commit -m \'Initial commit\'")
|
43
|
-
system("git remote add origin git@github.com:#{git_user}/#{current_dir}.git")
|
44
|
-
system("git push -u origin master")
|
45
|
-
end
|
44
|
+
def set_git_config_token(token)
|
45
|
+
system("git config --global github.token #{token}")
|
46
|
+
end
|
46
47
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
48
|
+
def get_project_name(input)
|
49
|
+
if input[0]
|
50
|
+
name = input[0]
|
51
|
+
else
|
52
|
+
STDOUT.puts "Enter a project name:"
|
53
|
+
name = STDIN.gets.strip
|
54
|
+
end
|
55
|
+
end
|
54
56
|
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
57
|
+
def new_dir
|
58
|
+
STDOUT.puts "Creating directory: \"#{project_name}\""
|
59
|
+
Dir.mkdir(project_name)
|
60
|
+
STDOUT.puts "Directory created"
|
61
|
+
Dir.chdir(project_name)
|
62
|
+
STDOUT.puts Dir.pwd
|
63
|
+
end
|
62
64
|
|
63
|
-
|
65
|
+
def new_local_repo
|
66
|
+
STDOUT.puts "Creating local git repository: \"#{project_name}\""
|
67
|
+
system("git init")
|
68
|
+
STDOUT.puts "Creating README.md"
|
69
|
+
File.open("README.md", "w"){ |f| f.puts "#{project_name} by #{git_user}"}
|
70
|
+
STDOUT.puts "README.md created"
|
71
|
+
end
|
72
|
+
|
73
|
+
def new_remote_repo
|
74
|
+
current_dir = File.basename(Dir.getwd)
|
75
|
+
STDOUT.puts "Creating remote git repository"
|
76
|
+
repo_req = `curl -u #{git_user}:#{git_token} https://api.github.com/user/repos -d '{\"name\":\"#{current_dir}\"}'`
|
77
|
+
response = JSON.parse(repo_req)
|
78
|
+
if response['message'] || response['errors']
|
79
|
+
puts response['message']
|
80
|
+
response['errors'] && response['errors'].each do |err|
|
81
|
+
puts "#{err['message']}"
|
82
|
+
end
|
83
|
+
else
|
84
|
+
system("git add .")
|
85
|
+
system("git commit -m \'Initial commit\'")
|
86
|
+
system("git remote add origin git@github.com:#{git_user}/#{current_dir}.git")
|
87
|
+
system("git push -u origin master")
|
88
|
+
STDOUT.puts "************** SUCCESS! ********************"
|
89
|
+
STDOUT.puts "Project Created! Now \'cd #{response['html_url']}\' and get to work."
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
def run
|
94
|
+
end
|
64
95
|
end
|
65
96
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: makegit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.1.0.pre
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Justin Gaddis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-03-
|
11
|
+
date: 2016-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: MakeGit is CLI Project & GitHub Repo Creator
|
14
14
|
email: justinkgaddis@gmail.com
|
@@ -19,7 +19,7 @@ extra_rdoc_files: []
|
|
19
19
|
files:
|
20
20
|
- bin/makegit
|
21
21
|
- lib/makegit.rb
|
22
|
-
homepage:
|
22
|
+
homepage: https://github.com/jkgaddis/makegit
|
23
23
|
licenses:
|
24
24
|
- Unlicense
|
25
25
|
metadata: {}
|