X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fstdlib%2Flib%2Fpuppet%2Fparser%2Ffunctions%2Fvalidate_string.rb;h=6675d86d625df8212a62a7f4472eb0ac08263034;hb=6963202b4b62c2816655ac9532521b018fdf83bd;hp=c841f6abbc0c6f8eef2fe331c8b81069b87a2798;hpb=a69999e580f8b3abd12446c2d6ad59e517651813;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/stdlib/lib/puppet/parser/functions/validate_string.rb b/3rdparty/modules/stdlib/lib/puppet/parser/functions/validate_string.rb index c841f6abb..6675d86d6 100644 --- a/3rdparty/modules/stdlib/lib/puppet/parser/functions/validate_string.rb +++ b/3rdparty/modules/stdlib/lib/puppet/parser/functions/validate_string.rb @@ -13,22 +13,25 @@ module Puppet::Parser::Functions validate_string(true) validate_string([ 'some', 'array' ]) - + Note: validate_string(undef) will not fail in this version of the functions API (incl. current and future parser). Instead, use: - + if $var == undef { fail('...') } - + ENDHEREDOC + function_deprecation([:validate_string, 'This method is deprecated, please use the stdlib validate_legacy function, with Stdlib::Compat::String. There is further documentation for validate_legacy function in the README.']) + unless args.length > 0 then raise Puppet::ParseError, ("validate_string(): wrong number of arguments (#{args.length}; must be > 0)") end args.each do |arg| - unless arg.is_a?(String) + # when called through the v4 API shim, undef gets translated to nil + unless arg.is_a?(String) || arg.nil? raise Puppet::ParseError, ("#{arg.inspect} is not a string. It looks to be a #{arg.class}") end end