aboutsummaryrefslogtreecommitdiff
path: root/lib/puppet/parser
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/parser')
-rw-r--r--lib/puppet/parser/functions/array_union.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/puppet/parser/functions/array_union.rb b/lib/puppet/parser/functions/array_union.rb
new file mode 100644
index 0000000..1ccad3f
--- /dev/null
+++ b/lib/puppet/parser/functions/array_union.rb
@@ -0,0 +1,10 @@
+Puppet::Parser::Functions::newfunction(
+ :array_union,
+ :type => :rvalue,
+ :doc => "Unions two arrays
+
+ Example: array_union(['a','b'],['c']) -> ['a','b','c']"
+) do |args|
+ raise Puppet::ParseError, 'array_union() needs two arguments' if args.length != 2
+ args[0].to_a | args[1].to_a
+end