debian-mirror-gitlab/qa/qa/runtime/address.rb
2019-09-04 21:01:54 +05:30

29 lines
600 B
Ruby

# frozen_string_literal: true
module QA
module Runtime
class Address
attr_reader :address
def initialize(instance, page)
@instance = instance
@address = host + (page.is_a?(String) ? page : page&.path)
end
def host
if @instance.is_a?(Symbol)
Runtime::Scenario.send("#{@instance}_address")
else
@instance.to_s
end
end
def self.valid?(value)
uri = URI.parse(value)
uri.is_a?(URI::HTTP) && !uri.host.nil?
rescue URI::InvalidURIError
false
end
end
end
end