Module: GitFastClone::UrlHelper

Included in:
Runner
Defined in:
lib/git-fastclone.rb

Overview

Helper methods for fastclone url operations

Class Method Summary collapse

Class Method Details

.parse_update_info(line) ⇒ Object



32
33
34
# File 'lib/git-fastclone.rb', line 32

def parse_update_info(line)
  [line.strip.match(/'([^']*)'$/)[1], line.strip.match(/\(([^)]*)\)/)[1]]
end

.path_from_git_url(url) ⇒ Object



27
28
29
# File 'lib/git-fastclone.rb', line 27

def path_from_git_url(url)
  File.basename(url, '.git')
end

.reference_repo_dir(url, reference_dir, using_local_repo) ⇒ Object



42
43
44
45
46
47
48
# File 'lib/git-fastclone.rb', line 42

def reference_repo_dir(url, reference_dir, using_local_repo)
  if using_local_repo
    File.join(reference_dir, 'local' + reference_repo_name(url))
  else
    File.join(reference_dir, reference_repo_name(url))
  end
end

.reference_repo_lock_file(url, reference_dir, using_local_repo) ⇒ Object



56
57
58
59
# File 'lib/git-fastclone.rb', line 56

def reference_repo_lock_file(url, reference_dir, using_local_repo)
  lock_file_name = "#{reference_repo_dir(url, reference_dir, using_local_repo)}:lock"
  File.open(lock_file_name, File::RDWR | File::CREAT, 0o644)
end

.reference_repo_name(url) ⇒ Object



37
38
39
# File 'lib/git-fastclone.rb', line 37

def reference_repo_name(url)
  url.gsub(%r{^.*://}, '').gsub(/^[^@]*@/, '').tr('/', '-').tr(':', '-').to_s
end

.reference_repo_submodule_file(url, reference_dir, using_local_repo) ⇒ Object



51
52
53
# File 'lib/git-fastclone.rb', line 51

def reference_repo_submodule_file(url, reference_dir, using_local_repo)
  "#{reference_repo_dir(url, reference_dir, using_local_repo)}:submodules.txt"
end