makegit 0.0.1.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.
Files changed (4) hide show
  1. checksums.yaml +7 -0
  2. data/bin/makegit +5 -0
  3. data/lib/makegit.rb +65 -0
  4. metadata +46 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: b320ef513af0f39d9aee445793458fd597896e45
4
+ data.tar.gz: 192b97693c1cbe53c681f6ff4c78d41d8511ad50
5
+ SHA512:
6
+ metadata.gz: 2ea12c916ecb3b03c4b5bf21fc5a0f3c234a6f381baff972d80238b009b2ec8eef1701fa4ca370104a0f643e858590e58dd8acb0308d8bbe9f7ec39b3f2ac966
7
+ data.tar.gz: 1ac16a900860e041d40774753d73fd2b1cee91d3f4912559b0b26cc78aa009b73c94bb760f04bb199ee611141bc65c7f7b94d8b486d8b72e70c76e9c865514b3
data/bin/makegit ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'makegit'
4
+
5
+ Makegit.new(ARGV)
data/lib/makegit.rb ADDED
@@ -0,0 +1,65 @@
1
+ class Makegit
2
+ attr_reader :project_name
3
+
4
+ def initialize(argv)
5
+ @project_name = get_project_name(argv)
6
+ new_dir
7
+ new_local_repo
8
+ new_remote_repo
9
+ STDOUT.puts "************** SUCCESS! ********************"
10
+ STDOUT.puts "Project Created! Now \'cd #{project_name}\' and get to work."
11
+ end
12
+
13
+ def get_project_name(input)
14
+ if input[0]
15
+ name = input[0]
16
+ else
17
+ STDOUT.puts "Enter a project name:"
18
+ name = STDIN.gets.strip
19
+ end
20
+ end
21
+
22
+ def new_dir
23
+ STDOUT.puts "Creating directory: \"#{project_name}\""
24
+ Dir.mkdir(project_name)
25
+ STDOUT.puts "Directory created"
26
+ Dir.chdir(project_name)
27
+ STDOUT.puts Dir.pwd
28
+ end
29
+
30
+ def new_local_repo
31
+ STDOUT.puts "Creating local git repository: \"#{project_name}\""
32
+ system("git init")
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
37
+
38
+ def new_remote_repo
39
+ current_dir = File.basename(Dir.getwd)
40
+ system("curl -u #{git_user}:#{git_token} https://api.github.com/user/repos -d '{\"name\":\"#{current_dir}\"}'")
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
46
+
47
+ def git_user
48
+ # Check for git username in git config
49
+ # If username exists set variable
50
+ # Else, throw error & prompt for username
51
+ ## Sidenote: should we set variable from prompt or add to git config?
52
+ `git config github.user`.strip
53
+ end
54
+
55
+ def git_token
56
+ # Check for git username in git config
57
+ # If username exists set variable
58
+ # Else, throw error & prompt for username
59
+ ## Sidenote: should we set variable from prompt or add to git config?
60
+ `git config github.token`.strip
61
+ end
62
+
63
+ def run
64
+ end
65
+ end
metadata ADDED
@@ -0,0 +1,46 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: makegit
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1.pre
5
+ platform: ruby
6
+ authors:
7
+ - Justin Gaddis
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-03-25 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: MakeGit is CLI Project & GitHub Repo Creator
14
+ email: justinkgaddis@gmail.com
15
+ executables:
16
+ - makegit
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - bin/makegit
21
+ - lib/makegit.rb
22
+ homepage: http://rubygems.org/gems/makegit
23
+ licenses:
24
+ - Unlicense
25
+ metadata: {}
26
+ post_install_message:
27
+ rdoc_options: []
28
+ require_paths:
29
+ - lib
30
+ required_ruby_version: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ required_rubygems_version: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">"
38
+ - !ruby/object:Gem::Version
39
+ version: 1.3.1
40
+ requirements: []
41
+ rubyforge_project:
42
+ rubygems_version: 2.4.8
43
+ signing_key:
44
+ specification_version: 4
45
+ summary: CLI GitHub Repo Creator
46
+ test_files: []