Update puppetlabs/stdlib module
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / lib / puppet / parser / functions / hash.rb
index 22763f3..0162e83 100644 (file)
@@ -1,20 +1,26 @@
 #
 # hash.rb
 #
-
 module Puppet::Parser::Functions
-  newfunction(:hash, :type => :rvalue, :doc => <<-EOS
-This function converts an array into a hash.
+  newfunction(:hash, :type => :rvalue, :doc => <<-DOC
+    This function converts an array into a hash.
+
+    *Examples:*
+
+        hash(['a',1,'b',2,'c',3])
 
-*Examples:*
+    Would return: {'a'=>1,'b'=>2,'c'=>3}
 
-    hash(['a',1,'b',2,'c',3])
+    Note: Since Puppet 5.0.0 type conversions can in general be performed by using the Puppet Type System.
+    See the function new() in Puppet for a wide range of available type conversions.
+    This example shows the equivalent expression in the Puppet language:
 
-Would return: {'a'=>1,'b'=>2,'c'=>3}
-    EOS
-  ) do |arguments|
+        Hash(['a',1,'b',2,'c',3])
+        Hash([['a',1],['b',2],['c',3]])
+    DOC
+             ) do |arguments|
 
-    raise(Puppet::ParseError, "hash(): Wrong number of arguments given (#{arguments.size} for 1)") if arguments.size < 1
+    raise(Puppet::ParseError, "hash(): Wrong number of arguments given (#{arguments.size} for 1)") if arguments.empty?
 
     array = arguments[0]