summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authormh <mh@immerda.ch>2010-10-28 00:19:44 +0200
committerMicah Anderson <micah@riseup.net>2010-11-07 13:37:34 -0500
commitba430647940c1cfbf3e220f032804da325da94a7 (patch)
treea2ad1bcb86d2012b26ecec39546759c6caa50b6d /lib
parentf8d9e9fd83f20c3846d26faf5cff3546bcea3b79 (diff)
add a new function & tests for that function
Diffstat (limited to 'lib')
-rw-r--r--lib/puppet/parser/functions/array_del.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/puppet/parser/functions/array_del.rb b/lib/puppet/parser/functions/array_del.rb
new file mode 100644
index 0000000..e604916
--- /dev/null
+++ b/lib/puppet/parser/functions/array_del.rb
@@ -0,0 +1,11 @@
+Puppet::Parser::Functions::newfunction(
+ :array_del,
+ :type => :rvalue,
+ :doc => "Deletes items from an array
+
+ Example: array_del(['a','b'],'b') -> ['a']"
+) do |args|
+ raise Puppet::ParseError, 'array_del() needs two arguments' if args.length != 2
+ (res=args[0].dup).to_a.delete(args[1])
+ res
+end