Add puppet/archive module, required for newer puppet/rabbitmq
[mirror/dsa-puppet.git] / 3rdparty / modules / archive / lib / puppet / parser / functions / assemble_nexus_url.rb
diff --git a/3rdparty/modules/archive/lib/puppet/parser/functions/assemble_nexus_url.rb b/3rdparty/modules/archive/lib/puppet/parser/functions/assemble_nexus_url.rb
new file mode 100644 (file)
index 0000000..be7c6e0
--- /dev/null
@@ -0,0 +1,13 @@
+require 'cgi'
+
+module Puppet::Parser::Functions
+  newfunction(:assemble_nexus_url, type: :rvalue) do |args|
+    service_relative_url = 'service/local/artifact/maven/content'
+
+    nexus_url = args[0]
+    params = args[1]
+    query_string = params.to_a.map { |x| "#{x[0]}=#{CGI.escape(x[1])}" }.join('&')
+
+    "#{nexus_url}/#{service_relative_url}?#{query_string}"
+  end
+end