X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fstdlib%2Flib%2Fpuppet%2Fparser%2Ffunctions%2Fis_numeric.rb;h=8b42119ae5a88f02f1008e02851d21f3dc2aa7c4;hb=30caaa85aed7015ca0d77216bff175eebd917eb7;hp=7800edd5760af6a97c8295b340d070e6a4da53b8;hpb=6963202b4b62c2816655ac9532521b018fdf83bd;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/stdlib/lib/puppet/parser/functions/is_numeric.rb b/3rdparty/modules/stdlib/lib/puppet/parser/functions/is_numeric.rb index 7800edd57..8b42119ae 100644 --- a/3rdparty/modules/stdlib/lib/puppet/parser/functions/is_numeric.rb +++ b/3rdparty/modules/stdlib/lib/puppet/parser/functions/is_numeric.rb @@ -1,32 +1,33 @@ # # is_numeric.rb # - module Puppet::Parser::Functions - newfunction(:is_numeric, :type => :rvalue, :doc => <<-EOS -Returns true if the given argument is a Numeric (Integer or Float), -or a String containing either a valid integer in decimal base 10 form, or -a valid floating point string representation. + newfunction(:is_numeric, :type => :rvalue, :doc => <<-DOC + @summary + **Deprecated:** Returns true if the given value is numeric. + + Returns true if the given argument is a Numeric (Integer or Float), + or a String containing either a valid integer in decimal base 10 form, or + a valid floating point string representation. -The function recognizes only decimal (base 10) integers and float but not -integers in hex (base 16) or octal (base 8) form. + The function recognizes only decimal (base 10) integers and float but not + integers in hex (base 16) or octal (base 8) form. -The string representation may start with a '-' (minus). If a decimal '.' is used, -it must be followed by at least one digit. + The string representation may start with a '-' (minus). If a decimal '.' is used, + it must be followed by at least one digit. -Valid examples: + @return [Boolean] + Returns `true` or `false` - 77435 - 10e-12 - -8475 - 0.2343 - -23.561e3 - EOS - ) do |arguments| + > **Note:* **Deprecated** Will be removed in a future version of stdlib. See + [`validate_legacy`](#validate_legacy). + DOC + ) do |arguments| - function_deprecation([:is_numeric, 'This method is deprecated, please use the stdlib validate_legacy function, with Stdlib::Compat::Numeric. There is further documentation for validate_legacy function in the README.']) + function_deprecation([:is_numeric, 'This method is deprecated, please use the stdlib validate_legacy function, + with Stdlib::Compat::Numeric. There is further documentation for validate_legacy function in the README.']) - if (arguments.size != 1) then + if arguments.size != 1 raise(Puppet::ParseError, "is_numeric(): Wrong number of arguments given #{arguments.size} for 1") end @@ -41,19 +42,19 @@ Valid examples: # if there is no risk to declare them inside of the module # Puppet::Parser::Functions - # TODO decide if this should be used + # TODO: decide if this should be used # HEX numbers like # 0xaa230F # 0X1234009C # 0x0012 # -12FcD - #numeric_hex = %r{^-?0[xX][0-9A-Fa-f]+$} + # numeric_hex = %r{^-?0[xX][0-9A-Fa-f]+$} - # TODO decide if this should be used + # TODO: decide if this should be used # OCTAL numbers like # 01234567 # -045372 - #numeric_oct = %r{^-?0[1-7][0-7]*$} + # numeric_oct = %r{^-?0[1-7][0-7]*$} # Integer/Float numbers like # -0.1234568981273 @@ -61,11 +62,11 @@ Valid examples: # 42.12345e-12 numeric = %r{^-?(?:(?:[1-9]\d*)|0)(?:\.\d+)?(?:[eE]-?\d+)?$} - if value.is_a? Numeric or (value.is_a? String and ( - value.match(numeric) #or - # value.match(numeric_hex) or - # value.match(numeric_oct) - )) + if value.is_a?(Numeric) || (value.is_a?(String) && + value.match(numeric) # or + # value.match(numeric_hex) or + # value.match(numeric_oct) + ) return true else return false