diff options
author | Douwe Maan <douwe@selenight.nl> | 2017-05-16 15:29:13 -0500 |
---|---|---|
committer | Douwe Maan <douwe@selenight.nl> | 2017-05-23 15:35:50 -0500 |
commit | 190b7b45a605475668a089a0ce43f3d89b9d7c47 (patch) | |
tree | a01ac60bc9c67af21d8d5faff747c43457b843b5 /lib/gitlab/dependency_linker | |
parent | 03db4f110613c73003f86d0ff98a7dcb6f0dae59 (diff) | |
download | gitlab-ce-190b7b45a605475668a089a0ce43f3d89b9d7c47.tar.gz |
Autolink package names in podspec
Diffstat (limited to 'lib/gitlab/dependency_linker')
-rw-r--r-- | lib/gitlab/dependency_linker/podspec_linker.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/gitlab/dependency_linker/podspec_linker.rb b/lib/gitlab/dependency_linker/podspec_linker.rb new file mode 100644 index 00000000000..a52c7a02439 --- /dev/null +++ b/lib/gitlab/dependency_linker/podspec_linker.rb @@ -0,0 +1,24 @@ +module Gitlab + module DependencyLinker + class PodspecLinker < MethodLinker + include Cocoapods + + STRING_REGEX = /['"](?<name>[^'"]+)['"]/.freeze + + self.file_type = :podspec + + private + + def link_dependencies + link_method_call('homepage', URL_REGEX, &:itself) + + link_regex(%r{(git:|:git\s*=>)\s*['"](?<name>#{URL_REGEX})['"]}, &:itself) + + link_method_call('license', &method(:license_url)) + link_regex(/license\s*=\s*\{\s*(type:|:type\s*=>)\s*#{STRING_REGEX}/, &method(:license_url)) + + link_method_call(%w[name dependency], &method(:package_url)) + end + end + end +end |