summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDouwe Maan <douwe@selenight.nl>2017-05-16 15:28:52 -0500
committerDouwe Maan <douwe@selenight.nl>2017-05-23 15:35:42 -0500
commit03db4f110613c73003f86d0ff98a7dcb6f0dae59 (patch)
treec0410dfcfe5a08157fea95e23e6dad85a29c9ffa /lib
parentfbec6dbd1a120cd111608c637cd63c8313aeb976 (diff)
downloadgitlab-ce-03db4f110613c73003f86d0ff98a7dcb6f0dae59.tar.gz
Autolink package names in Podfile
Diffstat (limited to 'lib')
-rw-r--r--lib/gitlab/dependency_linker.rb1
-rw-r--r--lib/gitlab/dependency_linker/cocoapods.rb10
-rw-r--r--lib/gitlab/dependency_linker/podfile_linker.rb15
3 files changed, 26 insertions, 0 deletions
diff --git a/lib/gitlab/dependency_linker.rb b/lib/gitlab/dependency_linker.rb
index 9cd2fbdfd17..44358d2634b 100644
--- a/lib/gitlab/dependency_linker.rb
+++ b/lib/gitlab/dependency_linker.rb
@@ -5,6 +5,7 @@ module Gitlab
GemspecLinker,
PackageJsonLinker,
ComposerJsonLinker,
+ PodfileLinker,
].freeze
def self.linker(blob_name)
diff --git a/lib/gitlab/dependency_linker/cocoapods.rb b/lib/gitlab/dependency_linker/cocoapods.rb
new file mode 100644
index 00000000000..2fbde7da1b4
--- /dev/null
+++ b/lib/gitlab/dependency_linker/cocoapods.rb
@@ -0,0 +1,10 @@
+module Gitlab
+ module DependencyLinker
+ module Cocoapods
+ def package_url(name)
+ package = name.split("/", 2).first
+ "https://cocoapods.org/pods/#{package}"
+ end
+ end
+ end
+end
diff --git a/lib/gitlab/dependency_linker/podfile_linker.rb b/lib/gitlab/dependency_linker/podfile_linker.rb
new file mode 100644
index 00000000000..60ad166ea17
--- /dev/null
+++ b/lib/gitlab/dependency_linker/podfile_linker.rb
@@ -0,0 +1,15 @@
+module Gitlab
+ module DependencyLinker
+ class PodfileLinker < GemfileLinker
+ include Cocoapods
+
+ self.file_type = :podfile
+
+ private
+
+ def link_packages
+ link_method_call('pod', &method(:package_url))
+ end
+ end
+ end
+end