summaryrefslogtreecommitdiff
path: root/lib/gitlab/dependency_linker
diff options
context:
space:
mode:
authorDouwe Maan <douwe@selenight.nl>2017-05-16 15:28:11 -0500
committerDouwe Maan <douwe@selenight.nl>2017-05-23 15:35:33 -0500
commitfbec6dbd1a120cd111608c637cd63c8313aeb976 (patch)
tree55d6558aae77db706f606ae50308281cc425ae46 /lib/gitlab/dependency_linker
parent83747783e25b2d8b60efa2cb1aa9d6bd823fcdfe (diff)
downloadgitlab-ce-fbec6dbd1a120cd111608c637cd63c8313aeb976.tar.gz
Autolink package names in composer.json
Diffstat (limited to 'lib/gitlab/dependency_linker')
-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