32 lines
672 B
Ruby
32 lines
672 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Gitlab
|
|
module Ci
|
|
module Build
|
|
class Port
|
|
DEFAULT_PORT_NAME = 'default_port'
|
|
DEFAULT_PORT_PROTOCOL = 'http'
|
|
|
|
attr_reader :number, :protocol, :name
|
|
|
|
def initialize(port)
|
|
@name = DEFAULT_PORT_NAME
|
|
@protocol = DEFAULT_PORT_PROTOCOL
|
|
|
|
case port
|
|
when Integer
|
|
@number = port
|
|
when Hash
|
|
@number = port[:number]
|
|
@protocol = port.fetch(:protocol, @protocol)
|
|
@name = port.fetch(:name, @name)
|
|
end
|
|
end
|
|
|
|
def valid?
|
|
@number.present?
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|