X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fstdlib%2Flib%2Fpuppet%2Fparser%2Ffunctions%2Fmin.rb;fp=3rdparty%2Fmodules%2Fstdlib%2Flib%2Fpuppet%2Fparser%2Ffunctions%2Fmin.rb;h=ed4be5b205a1d4454ee063708aef808a25e6c791;hb=131e09855e065be940e104d9ab0f18940cc76257;hp=f10a2b211b8ae848172aef3326f40f3e48af7abd;hpb=407d322498f4fde815abf381007fbecfe5c10b2b;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/stdlib/lib/puppet/parser/functions/min.rb b/3rdparty/modules/stdlib/lib/puppet/parser/functions/min.rb index f10a2b211..ed4be5b20 100644 --- a/3rdparty/modules/stdlib/lib/puppet/parser/functions/min.rb +++ b/3rdparty/modules/stdlib/lib/puppet/parser/functions/min.rb @@ -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