Class: Vorx::GitReference
- Inherits:
-
Object
- Object
- Vorx::GitReference
- Defined in:
- lib/vorx/git_reference.rb
Constant Summary collapse
- GIT_URI_REGEXP =
%r{(\w+://)(.+@)*([\w\d.]+)(:\d+){0,1}/*(.*)}.freeze
- GIT_REFERENCE_REGEXP =
%r{([[:alnum:]]+:)?([[[:alnum:]]/_-]+)(:\S+)?}.freeze
- PROVIDERS =
{ 'github' => 'https://github.com', 'gitlab' => 'https://gitlab.com', 'bitbucket' => 'https://bitbucket.org', nil => 'https://github.com' }.freeze
Class Method Summary collapse
Class Method Details
.resolve(git_reference, prefix: '') ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/vorx/git_reference.rb', line 16 def resolve(git_reference, prefix: '') git_uri = git_reference if GIT_URI_REGEXP.match?(git_reference) provider, reference, version = extract_params(git_reference) unless git_uri # TODO: Improve raise 'Invalid git uri or git reference' if !reference && !git_uri git_uri ||= "#{PROVIDERS[provider]}/#{with_prefix(reference, prefix)}.git" version ||= 'master' GitRepository.new( git: git_uri, version: version ) end |