From 299f5a11fac6b005fafe5b37e5200387fa3451d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20M=E4kinen?= Date: Wed, 23 Jan 2013 16:43:05 +0200 Subject: [PATCH] Initial version of merge function. --- util/lib/puppet/parser/functions/merge.rb | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 util/lib/puppet/parser/functions/merge.rb diff --git a/util/lib/puppet/parser/functions/merge.rb b/util/lib/puppet/parser/functions/merge.rb new file mode 100644 index 0000000..ab5e841 --- /dev/null +++ b/util/lib/puppet/parser/functions/merge.rb @@ -0,0 +1,20 @@ +module Puppet::Parser::Functions + newfunction(:merge, :type => :rvalue) do |args| + + if args.length < 2 + raise Puppet::ParseError, ("merge(): wrong number of arguments (#{args.length}; must be at least 2)") + end + + ret = [] + args.each do |arg| + next if arg == "" + if arg.is_a?(Array) + ret.concat(arg) + else + ret.concat([arg]) + end + end + ret + + end +end