Sha256: f6190b32966b8faa723c9b7b651fa8acd0f37f662778cba2db1f3eaf6a8a0d88
Contents?: true
Size: 1.43 KB
Versions: 1
Compression:
Stored size: 1.43 KB
Contents
require 'tmpdir' require 'fileutils' require 'uri' require_relative 'dryrun_utils' require 'digest' module DryRun class Github def initialize(url) @base_url = url @destination = get_destination end def get_destination Digest::SHA256.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(tag) clonable = self.clonable_url tmpdir = Dir.tmpdir+"/dryrun/#{@destination}" FileUtils.rm_rf(tmpdir) DryrunUtils.execute("git clone #{clonable} #{tmpdir}") if tag Dir.chdir tmpdir DryrunUtils.execute("git checkout #{tag} -b #{tag}") end tmpdir end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dryrun-0.5.7 | lib/dryrun/github.rb |