module GitFastClone::UrlHelper

Helper methods for fastclone url operations

Public Class Methods

parse_update_info(line) click to toggle source
# File lib/git-fastclone.rb, line 31
def parse_update_info(line)
  [line.strip.match(/'([^']*)'$/)[1], line.strip.match(/\(([^)]*)\)/)[1]]
end
path_from_git_url(url) click to toggle source
# File lib/git-fastclone.rb, line 26
def path_from_git_url(url)
  File.basename(url, '.git')
end
reference_filename(filename) click to toggle source
# File lib/git-fastclone.rb, line 50
def reference_filename(filename)
  separator = if RbConfig::CONFIG['host_os'] =~ /mswin|msys|mingw|cygwin|bccwin|wince|emc/
                '__'
              else
                ':'
              end
  "#{separator}#{filename}"
end
reference_repo_dir(url, reference_dir, using_local_repo) click to toggle source
# File lib/git-fastclone.rb, line 41
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) click to toggle source
# File lib/git-fastclone.rb, line 65
def reference_repo_lock_file(url, reference_dir, using_local_repo)
  lock_file_name = "#{reference_repo_dir(url, reference_dir, using_local_repo)}#{reference_filename('lock')}"
  File.open(lock_file_name, File::RDWR | File::CREAT, 0o644)
end
reference_repo_name(url) click to toggle source
# File lib/git-fastclone.rb, line 36
def reference_repo_name(url)
  url.gsub(%r{^.*://}, '').gsub(/^[^@]*@/, '').tr('/', '-').tr(':', '-').to_s
end
reference_repo_submodule_file(url, reference_dir, using_local_repo) click to toggle source
# File lib/git-fastclone.rb, line 60
def reference_repo_submodule_file(url, reference_dir, using_local_repo)
  "#{reference_repo_dir(url, reference_dir, using_local_repo)}#{reference_filename('submodules.txt')}"
end

Private Instance Methods

parse_update_info(line) click to toggle source
# File lib/git-fastclone.rb, line 31
def parse_update_info(line)
  [line.strip.match(/'([^']*)'$/)[1], line.strip.match(/\(([^)]*)\)/)[1]]
end
path_from_git_url(url) click to toggle source
# File lib/git-fastclone.rb, line 26
def path_from_git_url(url)
  File.basename(url, '.git')
end
reference_filename(filename) click to toggle source
# File lib/git-fastclone.rb, line 50
def reference_filename(filename)
  separator = if RbConfig::CONFIG['host_os'] =~ /mswin|msys|mingw|cygwin|bccwin|wince|emc/
                '__'
              else
                ':'
              end
  "#{separator}#{filename}"
end
reference_repo_dir(url, reference_dir, using_local_repo) click to toggle source
# File lib/git-fastclone.rb, line 41
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) click to toggle source
# File lib/git-fastclone.rb, line 65
def reference_repo_lock_file(url, reference_dir, using_local_repo)
  lock_file_name = "#{reference_repo_dir(url, reference_dir, using_local_repo)}#{reference_filename('lock')}"
  File.open(lock_file_name, File::RDWR | File::CREAT, 0o644)
end
reference_repo_name(url) click to toggle source
# File lib/git-fastclone.rb, line 36
def reference_repo_name(url)
  url.gsub(%r{^.*://}, '').gsub(/^[^@]*@/, '').tr('/', '-').tr(':', '-').to_s
end
reference_repo_submodule_file(url, reference_dir, using_local_repo) click to toggle source
# File lib/git-fastclone.rb, line 60
def reference_repo_submodule_file(url, reference_dir, using_local_repo)
  "#{reference_repo_dir(url, reference_dir, using_local_repo)}#{reference_filename('submodules.txt')}"
end