#
# difference.rb
#
-
module Puppet::Parser::Functions
- newfunction(:difference, :type => :rvalue, :doc => <<-EOS
-This function returns the difference between two arrays.
-The returned array is a copy of the original array, removing any items that
-also appear in the second array.
+ newfunction(:difference, :type => :rvalue, :doc => <<-DOC
+ @summary
+ This function returns the difference between two arrays.
+
+ The returned array is a copy of the original array, removing any items that
+ also appear in the second array.
+
+ @example Example usage
+
+ difference(["a","b","c"],["b","c","d"])
+ Would return: `["a"]`
-*Examples:*
+ > *Note:*
+ Since Puppet 4 the minus (-) operator in the Puppet language does the same thing:
+ ['a', 'b', 'c'] - ['b', 'c', 'd']
+ Would return: `['a']`
- difference(["a","b","c"],["b","c","d"])
+ @return [Array]
+ The difference between the two given arrays
-Would return: ["a"]
- EOS
- ) do |arguments|
+ DOC
+ ) do |arguments|
# Two arguments are required
- raise(Puppet::ParseError, "difference(): Wrong number of arguments " +
- "given (#{arguments.size} for 2)") if arguments.size != 2
+ raise(Puppet::ParseError, "difference(): Wrong number of arguments given (#{arguments.size} for 2)") if arguments.size != 2
first = arguments[0]
second = arguments[1]