Module: GitFastClone::UrlHelper
- Included in:
- Runner
- Defined in:
- lib/git-fastclone.rb
Overview
Helper methods for fastclone url operations
Class Method Summary collapse
- .parse_update_info(line) ⇒ Object
- .path_from_git_url(url) ⇒ Object
- .reference_repo_dir(url, reference_dir, using_local_repo) ⇒ Object
- .reference_repo_lock_file(url, reference_dir, using_local_repo) ⇒ Object
- .reference_repo_name(url) ⇒ Object
- .reference_repo_submodule_file(url, reference_dir, using_local_repo) ⇒ Object
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 |