Sha256: 4667bbcafffcafb0da61acfe384a9d5676e246047d54ea4b3289d5120be30146

Contents?: true

Size: 592 Bytes

Versions: 2

Compression:

Stored size: 592 Bytes

Contents

# frozen_string_literal: true

module Bunup
  module Services
    # Validate that version of gem installed from a git source is valid
    class ValidateGitVersion
      # https://stackoverflow.com/questions/468370/a-regex-to-match-a-sha1#468378
      SHA_REGEX = /\b[0-9a-f]{5,40}\b/.freeze

      def initialize(version_string)
        @version_string = version_string
      end

      def perform
        version, sha = @version_string.split(' ')
        return false if sha.nil?

        ::Gem::Version.correct?(version) &&
          !sha.match(SHA_REGEX).nil?
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
bunup-0.3.1 lib/bunup/services/validate_git_version.rb
bunup-0.3.0 lib/bunup/services/validate_git_version.rb