summaryrefslogtreecommitdiff
path: root/lib/gitlab/dependency_linker/composer_json_linker.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/dependency_linker/composer_json_linker.rb')
-rw-r--r--lib/gitlab/dependency_linker/composer_json_linker.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/gitlab/dependency_linker/composer_json_linker.rb b/lib/gitlab/dependency_linker/composer_json_linker.rb
new file mode 100644
index 00000000000..0245bf4077a
--- /dev/null
+++ b/lib/gitlab/dependency_linker/composer_json_linker.rb
@@ -0,0 +1,18 @@
+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 =~ %r{\A#{REPO_REGEX}\z}
+ end
+ end
+ end
+end