Rename Git::Repository::Location to Git::Location
This commit is contained in:
parent
565fdd63cf
commit
59d49f70c3
1
qa/qa.rb
1
qa/qa.rb
|
@ -169,6 +169,7 @@ module QA
|
|||
#
|
||||
module Git
|
||||
autoload :Repository, 'qa/git/repository'
|
||||
autoload :Location, 'qa/git/location'
|
||||
end
|
||||
|
||||
##
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
require 'uri'
|
||||
require 'forwardable'
|
||||
|
||||
module QA
|
||||
module Git
|
||||
class Location
|
||||
extend Forwardable
|
||||
|
||||
attr_reader :git_uri, :uri
|
||||
def_delegators :@uri, :user, :host, :path
|
||||
|
||||
# See: config/initializers/1_settings.rb
|
||||
# Settings#build_gitlab_shell_ssh_path_prefix
|
||||
def self.parse(git_uri)
|
||||
if git_uri.start_with?('ssh://')
|
||||
new(git_uri, URI.parse(git_uri))
|
||||
else
|
||||
*rest, path = git_uri.split(':')
|
||||
# Host cannot have : so we'll need to escape it
|
||||
user_host = rest.join('%3A').sub(/\A\[(.+)\]\z/, '\1')
|
||||
new(git_uri, URI.parse("ssh://#{user_host}/#{path}"))
|
||||
end
|
||||
end
|
||||
|
||||
def initialize(git_uri, uri)
|
||||
@git_uri = git_uri
|
||||
@uri = uri
|
||||
end
|
||||
|
||||
def scheme
|
||||
uri.scheme || 'ssh'
|
||||
end
|
||||
|
||||
def port
|
||||
uri.port || 22
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -4,8 +4,6 @@ require 'uri'
|
|||
module QA
|
||||
module Git
|
||||
class Repository
|
||||
autoload :Location, 'qa/git/repository/location'
|
||||
|
||||
include Scenario::Actable
|
||||
|
||||
def self.perform(*args)
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
require 'uri'
|
||||
require 'forwardable'
|
||||
|
||||
module QA
|
||||
module Git
|
||||
class Repository
|
||||
class Location
|
||||
extend Forwardable
|
||||
|
||||
attr_reader :git_uri, :uri
|
||||
def_delegators :@uri, :user, :host, :path
|
||||
|
||||
# See: config/initializers/1_settings.rb
|
||||
# Settings#build_gitlab_shell_ssh_path_prefix
|
||||
def self.parse(git_uri)
|
||||
if git_uri.start_with?('ssh://')
|
||||
new(git_uri, URI.parse(git_uri))
|
||||
else
|
||||
*rest, path = git_uri.split(':')
|
||||
# Host cannot have : so we'll need to escape it
|
||||
user_host = rest.join('%3A').sub(/\A\[(.+)\]\z/, '\1')
|
||||
new(git_uri, URI.parse("ssh://#{user_host}/#{path}"))
|
||||
end
|
||||
end
|
||||
|
||||
def initialize(git_uri, uri)
|
||||
@git_uri = git_uri
|
||||
@uri = uri
|
||||
end
|
||||
|
||||
def scheme
|
||||
uri.scheme || 'ssh'
|
||||
end
|
||||
|
||||
def port
|
||||
uri.port || 22
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,4 +1,4 @@
|
|||
describe QA::Git::Repository::Location do
|
||||
describe QA::Git::Location do
|
||||
describe '.parse' do
|
||||
context 'when URI starts with ssh://' do
|
||||
context 'when URI has port' do
|
Loading…
Reference in New Issue