Update stdlib and concat to 6.1.0 both
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / lib / puppet / parser / functions / unique.rb
index cf770f3..c9eaa08 100644 (file)
@@ -1,37 +1,37 @@
 #
 # unique.rb
 #
-
 module Puppet::Parser::Functions
-  newfunction(:unique, :type => :rvalue, :doc => <<-EOS
-This function will remove duplicates from strings and arrays.
-
-*Examples:*
+  newfunction(:unique, :type => :rvalue, :doc => <<-DOC
+    @summary
+      This function will remove duplicates from strings and arrays.
 
-    unique("aabbcc")
+    @return
+      String or array with duplicates removed
 
-Will return:
+    @example **Usage**
 
-    abc
+      unique("aabbcc")
+      Will return: abc
 
-You can also use this with arrays:
+      You can also use this with arrays:
 
-    unique(["a","a","b","b","c","c"])
+      unique(["a","a","b","b","c","c"])
+      This returns: ["a","b","c"]
 
-This returns:
+    DOC
+             ) do |arguments|
 
-    ["a","b","c"]
-    EOS
-  ) do |arguments|
+    if Puppet::Util::Package.versioncmp(Puppet.version, '5.0.0') >= 0
+      function_deprecation([:unique, 'This method is deprecated, please use the core puppet unique function. There is further documentation for the function in the release notes of Puppet 5.0.'])
+    end
 
-    raise(Puppet::ParseError, "unique(): Wrong number of arguments " +
-      "given (#{arguments.size} for 1)") if arguments.size < 1
+    raise(Puppet::ParseError, "unique(): Wrong number of arguments given (#{arguments.size} for 1)") if arguments.empty?
 
     value = arguments[0]
 
     unless value.is_a?(Array) || value.is_a?(String)
-      raise(Puppet::ParseError, 'unique(): Requires either ' +
-        'array or string to work with')
+      raise(Puppet::ParseError, 'unique(): Requires either array or string to work with')
     end
 
     result = value.clone