Sha256: 9925ff174910d8d5c8941e2f2f3ef4c250eace23121ad6f27f755ce5971f108d
Contents?: true
Size: 1.3 KB
Versions: 2
Compression:
Stored size: 1.3 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 Digest::MD5.hexdigest(@base_url) 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
dryrun-0.5.4 | lib/dryrun/github.rb |
dryrun-0.5.3 | lib/dryrun/github.rb |