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

module Gitlab
  module DependencyLinker
    class ComposerJsonLinker < PackageJsonLinker
      self.file_type = :composer_json

      private

      def link_packages
        link_packages_at_key("require", &method(:package_url))
        link_packages_at_key("require-dev", &method(:package_url))
      end

      def package_url(name)
        "https://packagist.org/packages/#{name}" if name =~ /\A#{REPO_REGEX}\z/
      end
    end
  end
end