class Gitlab::QA::Component::Staging::Version
Attributes
uri[R]
Public Class Methods
new(address)
click to toggle source
# File lib/gitlab/qa/component/staging.rb, line 60 def initialize(address) @uri = URI.join(address, '/api/v4/version') Runtime::Env.require_qa_access_token! end
Public Instance Methods
major_minor_revision()
click to toggle source
# File lib/gitlab/qa/component/staging.rb, line 70 def major_minor_revision api_response = api_get! version_regexp = /^v?(?<major>\d+)\.(?<minor>\d+)\.\d+/ match = version_regexp.match(api_response.fetch('version')) "#{match[:major]}.#{match[:minor]}-#{api_response.fetch('revision')}" end
tag_end()
click to toggle source
# File lib/gitlab/qa/component/staging.rb, line 66 def tag_end official? ? version : revision end
Private Instance Methods
api_get!()
click to toggle source
# File lib/gitlab/qa/component/staging.rb, line 92 def api_get! @response_body ||= # rubocop:disable Naming/MemoizedInstanceVariableName begin response = Support::GetRequest.new(uri, Runtime::Env.qa_access_token).execute! JSON.parse(response.body) end end
official?()
click to toggle source
# File lib/gitlab/qa/component/staging.rb, line 80 def official? QA::Release::DEV_OFFICIAL_TAG_REGEX.match?(version) end
revision()
click to toggle source
# File lib/gitlab/qa/component/staging.rb, line 84 def revision api_get!.fetch('revision') end
version()
click to toggle source
# File lib/gitlab/qa/component/staging.rb, line 88 def version api_get!.fetch('version') end