class PactBroker::Client::Matrix::AbbreviateVersionNumber
Constants
- SEMVER_REGEX
Official regex from semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string
- SHA1_REGEX
Public Class Methods
call(version_number)
click to toggle source
# File lib/pact_broker/client/matrix/abbreviate_version_number.rb, line 10 def call version_number return unless version_number return replace_all_git_sha(version_number) if [SEMVER_REGEX, SHA1_REGEX].all?{|r| regex_match?(r, version_number) } return replace_all_git_sha(version_number) if regex_match?(Regexp.new("\\A#{SHA1_REGEX.source}\\z"), version_number) # Trim to some meaningful value in case we couldn't match anything, just not to mess with the output return version_number[0...60] + '...' if version_number.length > 60 version_number end
Private Class Methods
regex_match?(regex, value)
click to toggle source
To support ruby2.2
# File lib/pact_broker/client/matrix/abbreviate_version_number.rb, line 26 def regex_match?(regex, value) !regex.match(value).nil? end
replace_all_git_sha(version)
click to toggle source
# File lib/pact_broker/client/matrix/abbreviate_version_number.rb, line 30 def replace_all_git_sha(version) version.gsub(SHA1_REGEX) { |val| val[0...7] + '...' } end