Sha256: 2b7d993e239266beddfc5f407f9e4058aa64a4ae85da92694679b687657ebf4e
Contents?: true
Size: 1.44 KB
Versions: 1
Compression:
Stored size: 1.44 KB
Contents
require 'tmpdir' require 'fileutils' require 'uri' require_relative 'dryrun_utils' module DryRun class Github def initialize(url) @base_url = url @destination = get_destination end def get_destination destiny = @base_url.gsub('.git','') destiny = destiny.split('/') destiny = destiny.last(2).join('/') destiny = destiny.gsub('git@github.com:','') destiny end def is_valid starts_with_git = @base_url.split(//).first(4).join.eql? "git@" starts_with_http = @base_url.split(//).first(7).join.eql? "http://" starts_with_https = @base_url.split(//).first(8).join.eql? "https://" return (starts_with_git or starts_with_https or starts_with_http) end def clonable_url starts_with_git = @base_url.split(//).first(4).join.eql? "git@" ends_with_git = @base_url.split(//).last(4).join.eql? ".git" # ends with git but doesnt start with git if ends_with_git and !starts_with_git return @base_url end # ends with git but doesnt start with git if !ends_with_git and !starts_with_git return "#{@base_url}.git" end @base_url # end end ## ## CLONE THE REPOSITORY ## def clone clonable = self.clonable_url tmpdir = Dir.tmpdir+"/dryrun/#{@destination}" FileUtils.rm_rf(tmpdir) DryrunUtils.execute("git clone #{clonable} #{tmpdir}") tmpdir end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dryrun-0.5.2 | lib/dryrun/github.rb |