Sha256: e26502ef64c419fd3af8707451d4fd3da5bfb5ec8543b2b37b99bafe4587bfa8

Contents?: true

Size: 1.53 KB

Versions: 2

Compression:

Stored size: 1.53 KB

Contents

class Reclone::CLI
  attr_accessor :current_user

  def call
    up?
    puts "Hiya friend"; sleep 0.5
    log_in
    recloner
	end

  # Internet connection check
  def up?
    if Net::Ping::External.new("www.google.com").ping? != true
      puts "You need an internet connection to run this program..."
      puts "As if I needed to tell you that."; sleep 1
      puts "Good bye for now."
      exit
    end
  end

  def directory_exists?(directory)
    Dir.exists?(directory)
  end

  def log_in
    puts "Please enter your Github user name."
    user_name = gets.strip.to_s
    @current_user = User.new(user_name)

    if user_name == "exit"
      exit!
    elsif @current_user.user_info
      puts "Oh hayyy, I found you!"
    else
      puts "I'm having a hard time locating that username."
      puts "Please try again."
      log_in
    end
  end

  def recloner
    puts "Remember, the next step will clone repositories"
    puts "in your present working directory."
    puts " "
    puts "Make sure you are in the right place before doing the thing."
    puts " "
    puts " "
    puts "Shall I do the thing?"
  
    user_input = gets.strip

    if user_input == "yes"|| user_input == "y" || user_input == 'yis' ||user_input == "yeth"
      current_user.repos.each do |repo|
        if !directory_exists?(repo[:full_name])
          `git clone #{repo[:ssh_url]}`
        end
      end
    elsif user_input == "no"|| user_input == "n" || user_input == "nah"
      puts "Thanks for stopping by, I guess?"
      exit
    else
      recloner
    end
  end      
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
reclone-0.9.0 lib/reclone/cli.rb
reclone-0.8.0 lib/reclone/cli.rb