Module: Creategem::Git

Includes:
Thor::Actions
Included in:
CLI
Defined in:
lib/creategem/git.rb

Instance Method Summary collapse

Instance Method Details

#create_local_git_repositoryObject



7
8
9
10
11
12
# File 'lib/creategem/git.rb', line 7

def create_local_git_repository
  say "Create local git repository", :green
  run "git init"
  run "git add ."
  run "git commit -aqm 'Initial commit'"
end

#create_remote_git_repository(repository) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/creategem/git.rb', line 14

def create_remote_git_repository(repository)
  say "Create remote #{repository.vendor} repository", :green
  if repository.github?
    token = ask("What is yout Github personal access token?")
    run "curl --request POST --user #{repository.user}:#{token} https://api.github.com/user/repos -d '{\"name\":\"#{repository.name}\", \"private\":\"#{repository.private}\"}'"
  else # bitbucket
    run "curl --request POST --user #{repository.user} https://api.bitbucket.org/1.0/repositories/ --data name=#{repository.name} --data scm=git --data is_private=#{repository.private}"
  end
  run "git remote add origin #{repository.origin}"
  say "Push initial commit to remote #{repository.vendor} repository", :green
  run "git push -u origin master"
end

#gem_server_url(private) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/creategem/git.rb', line 37

def gem_server_url(private)
  if private
    git_config_key = "creategem.gemserver"
    url = ::Git.global_config(git_config_key)
    if url.nil? || url.empty?
      url = ask("What is the url of your geminabox server?")
      ::Git.global_config(git_config_key, url)
    end
    url
  else
    "https://rubygems.org"
  end
end

#git_repository_user_name(vendor) ⇒ Object



27
28
29
30
31
32
33
34
35
# File 'lib/creategem/git.rb', line 27

def git_repository_user_name(vendor)
  git_config_key = "creategem.#{vendor}user"
  user = ::Git.global_config(git_config_key)
  if user.nil? || user.empty?
    user = ask("What is your #{vendor} user name?")
    ::Git.global_config(git_config_key, user)
  end
  user
end