module Ghruby

Constants

VERSION

Public Instance Methods

prompt_password() click to toggle source
# File lib/ghruby.rb, line 46
def prompt_password
  puts "password > "
  password = STDIN.noecho(&:gets).chomp
end
prompt_username() click to toggle source
# File lib/ghruby.rb, line 59
def prompt_username
  puts "github username > "
  username = STDIN.gets.chomp
end
set_credentials(args) click to toggle source
# File lib/ghruby.rb, line 68
def set_credentials(args)
  {url: set_url(args), username: set_username, password: set_password}
end
set_password() click to toggle source
# File lib/ghruby.rb, line 64
def set_password
  ENV['GHREPO_KEY'] || prompt_password
end
set_url(args) click to toggle source
# File lib/ghruby.rb, line 51
def set_url(args)
  args.include?('-ssl') ? 'ssh_url' : 'git_url'
end
set_username() click to toggle source
# File lib/ghruby.rb, line 55
def set_username
  ENV['GHREPO_USERNAME'] || prompt_username
end
start(args) click to toggle source
# File lib/ghruby.rb, line 11
  def start(args)
    if args.any?
      repo_name = args.pop
      credentials = set_credentials(args)
      response = `curl -u "#{credentials[:username]}:#{credentials[:password]}" https://api.github.com/user/repos -d '{"name":"'#{repo_name}'"}'`
      git_url = JSON.parse(response)[credentials[:url]]

      `git clone "#{git_url}"`
    else
      puts "RTFM dummy!"
      puts <<-eos
        ░░░░░░░░░▄░░░░░░░░░░░░░░▄░░░░
        ░░░░░░░░▌▒█░░░░░░░░░░░▄▀▒▌░░░
        ░░░░░░░░▌▒▒█░░░░░░░░▄▀▒▒▒▐░░░
        ░░░░░░░▐▄▀▒▒▀▀▀▀▄▄▄▀▒▒▒▒▒▐░░░
        ░░░░░▄▄▀▒░▒▒▒▒▒▒▒▒▒█▒▒▄█▒▐░░░
        ░░░▄▀▒▒▒░░░▒▒▒░░░▒▒▒▀██▀▒▌░░░
        ░░▐▒▒▒▄▄▒▒▒▒░░░▒▒▒▒▒▒▒▀▄▒▒▌░░
        ░░▌░░▌█▀▒▒▒▒▒▄▀█▄▒▒▒▒▒▒▒█▒▐░░
        ░▐░░░▒▒▒▒▒▒▒▒▌██▀▒▒░░░▒▒▒▀▄▌░
        ░▌░▒▄██▄▒▒▒▒▒▒▒▒▒░░░░░░▒▒▒▒▌░
        ▀▒▀▐▄█▄█▌▄░▀▒▒░░░░░░░░░░▒▒▒▐░
        ▐▒▒▐▀▐▀▒░▄▄▒▄▒▒▒▒▒▒░▒░▒░▒▒▒▒▌
        ▐▒▒▒▀▀▄▄▒▒▒▄▒▒▒▒▒▒▒▒░▒░▒░▒▒▐░
        ░▌▒▒▒▒▒▒▀▀▀▒▒▒▒▒▒░▒░▒░▒░▒▒▒▌░
        ░▐▒▒▒▒▒▒▒▒▒▒▒▒▒▒░▒░▒░▒▒▄▒▒▐░░
        ░░▀▄▒▒▒▒▒▒▒▒▒▒▒░▒░▒░▒▄▒▒▒▒▌░░
        ░░░░▀▄▒▒▒▒▒▒▒▒▒▒▄▄▄▀▒▒▒▒▄▀░░░
        ░░░░░░▀▄▄▄▄▄▄▀▀▀▒▒▒▒▒▄▄▀░░░░░
        ░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▀▀░░░░░░░░
      eos
      puts "such moron very dumb"
    end
  end