Update puppetlabs/stdlib module
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / lib / puppet / parser / functions / min.rb
index f10a2b2..ed4be5b 100644 (file)
@@ -1,16 +1,22 @@
+#
+# min.rb
+#
 module Puppet::Parser::Functions
-  newfunction(:min, :type => :rvalue, :doc => <<-EOS
+  newfunction(:min, :type => :rvalue, :doc => <<-DOC
     Returns the lowest value of all arguments.
     Requires at least one argument.
-    EOS
-  ) do |args|
 
-    raise(Puppet::ParseError, "min(): Wrong number of arguments need at least one") if args.size == 0
+    Note: from Puppet 6.0.0, the compatible function with the same name in Puppet core
+    will be used instead of this function.
+    DOC
+             ) do |args|
+
+    raise(Puppet::ParseError, 'min(): Wrong number of arguments need at least one') if args.empty?
 
     # Sometimes we get numbers as numerics and sometimes as strings.
     # We try to compare them as numbers when possible
-    return args.min do |a,b|
-      if a.to_s =~ /\A^-?\d+(.\d+)?\z/ and b.to_s =~ /\A-?\d+(.\d+)?\z/ then
+    return args.min do |a, b|
+      if a.to_s =~ %r{\A^-?\d+(.\d+)?\z} && b.to_s =~ %r{\A-?\d+(.\d+)?\z}
         a.to_f <=> b.to_f
       else
         a.to_s <=> b.to_s