summaryrefslogtreecommitdiff
path: root/lib/gitlab/dependency_linker/requirements_txt_linker.rb
blob: f630c13b760c07d87c699fda50132edfddc0a8f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# frozen_string_literal: true

module Gitlab
  module DependencyLinker
    class RequirementsTxtLinker < BaseLinker
      self.file_type = :requirements_txt

      private

      def link_dependencies
        link_regex(/^(?<name>(?![a-z+]+:)[^#.-][^ ><=~!;\[]+)/) do |name|
          "https://pypi.python.org/pypi/#{name}"
        end

        link_regex(%r{^(?<name>https?://[^ ]+)}, &:itself)
      end
    end
  end
end