X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fstdlib%2Flib%2Fpuppet%2Fparser%2Ffunctions%2Fmax.rb;fp=3rdparty%2Fmodules%2Fstdlib%2Flib%2Fpuppet%2Fparser%2Ffunctions%2Fmax.rb;h=4715dcd4e4483822bcd6b0e566aace60db71c3cb;hb=131e09855e065be940e104d9ab0f18940cc76257;hp=758c42cd6437ae3eded711a5a8ec54f221e73c74;hpb=407d322498f4fde815abf381007fbecfe5c10b2b;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/stdlib/lib/puppet/parser/functions/max.rb b/3rdparty/modules/stdlib/lib/puppet/parser/functions/max.rb index 758c42cd6..4715dcd4e 100644 --- a/3rdparty/modules/stdlib/lib/puppet/parser/functions/max.rb +++ b/3rdparty/modules/stdlib/lib/puppet/parser/functions/max.rb @@ -1,16 +1,22 @@ +# +# max.rb +# module Puppet::Parser::Functions - newfunction(:max, :type => :rvalue, :doc => <<-EOS + newfunction(:max, :type => :rvalue, :doc => <<-DOC Returns the highest value of all arguments. Requires at least one argument. - EOS - ) do |args| - raise(Puppet::ParseError, "max(): 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, 'max(): 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.max do |a,b| - if a.to_s =~ /\A-?\d+(.\d+)?\z/ and b.to_s =~ /\A-?\d+(.\d+)?\z/ then + return args.max 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