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