Sha256: 98247907dd56af6d22a3a58e0928c467b5341cb19928f78dd8d88e69e4a91933
Contents?: true
Size: 875 Bytes
Versions: 46
Compression:
Stored size: 875 Bytes
Contents
require "danger/ci_source/support/repo_info" module Danger class FindRepoInfoFromURL REGEXP = %r{ ://[^/]+/ (([^/]+/){1,2}_git/)? (?<slug>[^/]+(/[^/]+){0,2}) (/(pull|pullrequest|merge_requests|pull-requests)/) (?<id>\d+) }x.freeze # Regex used to extract info from Bitbucket server URLs, as they use a quite different format REGEXPBB = %r{ (?:[/:])projects /([^/.]+) /repos/([^/.]+) /pull-requests /(\d+) }x.freeze def initialize(url) @url = url end def call matched = url.match(REGEXPBB) if matched RepoInfo.new("#{matched[1]}/#{matched[2]}", matched[3]) else matched = url.match(REGEXP) if matched RepoInfo.new(matched[:slug], matched[:id]) end end end private attr_reader :url end end
Version data entries
46 entries across 46 versions & 2 rubygems