Class: Application::RepoBuilder
- Inherits:
-
Object
- Object
- Application::RepoBuilder
- Defined in:
- lib/makegit/repo_builder.rb
Instance Attribute Summary collapse
-
#git_token ⇒ Object
readonly
Returns the value of attribute git_token.
-
#git_user ⇒ Object
readonly
Returns the value of attribute git_user.
-
#project_name ⇒ Object
readonly
Returns the value of attribute project_name.
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(project_name, git_user, git_token) ⇒ RepoBuilder
constructor
A new instance of RepoBuilder.
- #new_local_repo ⇒ Object
- #new_remote_repo ⇒ Object
Constructor Details
#initialize(project_name, git_user, git_token) ⇒ RepoBuilder
Returns a new instance of RepoBuilder.
5 6 7 8 9 |
# File 'lib/makegit/repo_builder.rb', line 5 def initialize(project_name, git_user, git_token) @project_name = project_name @git_user = git_user @git_token = git_token end |
Instance Attribute Details
#git_token ⇒ Object (readonly)
Returns the value of attribute git_token.
3 4 5 |
# File 'lib/makegit/repo_builder.rb', line 3 def git_token @git_token end |
#git_user ⇒ Object (readonly)
Returns the value of attribute git_user.
3 4 5 |
# File 'lib/makegit/repo_builder.rb', line 3 def git_user @git_user end |
#project_name ⇒ Object (readonly)
Returns the value of attribute project_name.
3 4 5 |
# File 'lib/makegit/repo_builder.rb', line 3 def project_name @project_name end |
Instance Method Details
#build ⇒ Object
11 12 13 14 15 16 |
# File 'lib/makegit/repo_builder.rb', line 11 def build Dir.chdir(project_name) do new_local_repo new_remote_repo end end |
#new_local_repo ⇒ Object
18 19 20 21 |
# File 'lib/makegit/repo_builder.rb', line 18 def new_local_repo STDOUT.puts "Creating local git repository" system("git init") end |
#new_remote_repo ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/makegit/repo_builder.rb', line 23 def new_remote_repo current_dir = File.basename(Dir.getwd) STDOUT.puts "Creating remote git repository" repo_req = `curl -u #{git_user}:#{git_token} https://api.github.com/user/repos -d '{\"name\":\"#{current_dir}\"}'` response = JSON.parse(repo_req) if response['message'] || response['errors'] puts response['message'] response['errors'] && response['errors'].each do |err| puts "#{err['message']}" end raise "Error creating GitHub repository" else system("git add --all") system("git commit -m \'Initial commit\'") system("git remote add origin [email protected]:#{git_user}/#{current_dir}.git") system("git push -u origin master") end end |