Sha256: 6836895d70b84a8a1ca6f5e2e3679f60042f58a92235e56b4d2b487d54fcfeb8

Contents?: true

Size: 714 Bytes

Versions: 2

Compression:

Stored size: 714 Bytes

Contents

# frozen_string_literal: true

require 'fileutils'

module Reaver
  # Treat git
  class Git
    def initialize(url, dest)
      @dest = "#{ENV['HOME']}/#{dest}"
      @url = url
      x
    end

    protected

    def x
      if !Dir.exist?(@dest)
        git_clone
      elsif Dir.exist?(@dest) && !Dir.exist?("#{@dest}/.git")
        FileUtils.rm_rf @dest
        git_clone
      elsif Dir.exist?(@dest) && Dir.exist?("#{@dest}/.git")
        git_sync
      end
    end

    private

    def git_clone
      puts "Git cloning #{@url} to #{@dest}..."
      `git clone #{@url} #{@dest}`
    end

    def git_sync
      puts "Git fetching update(s) on #{@dest}..."
      `cd #{@dest} && git pull`
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
reaver-0.16.0 lib/reaver/git.rb
reaver-0.14.0 lib/reaver/git.rb