X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fstdlib%2Flib%2Fpuppet%2Fparser%2Ffunctions%2Fvalidate_string.rb;h=f6c52a7111585135216e194083988ae1184411f3;hb=30caaa85aed7015ca0d77216bff175eebd917eb7;hp=c841f6abbc0c6f8eef2fe331c8b81069b87a2798;hpb=ad88f67c13ae0f1a08936dad643f1e3509ab5f40;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..f6c52a711 100644 --- a/3rdparty/modules/stdlib/lib/puppet/parser/functions/validate_string.rb +++ b/3rdparty/modules/stdlib/lib/puppet/parser/functions/validate_string.rb @@ -1,38 +1,47 @@ +# +# validate_String.rb +# module Puppet::Parser::Functions + newfunction(:validate_string, :doc => <<-DOC + @summary + Validate that all passed values are string data structures - newfunction(:validate_string, :doc => <<-'ENDHEREDOC') do |args| - Validate that all passed values are string data structures. Abort catalog - compilation if any value fails this check. + @return + Validate that all passed values are string data structures. Failed + compilation if any value fails this check. - The following values will pass: + @example **Usage** + The following values will pass: - $my_string = "one two" - validate_string($my_string, 'three') + $my_string = "one two" + validate_string($my_string, 'three') - The following values will fail, causing compilation to abort: + The following values will fail, causing compilation to abort: - validate_string(true) - validate_string([ 'some', 'array' ]) - - Note: validate_string(undef) will not fail in this version of the + 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('...') + ``` + if $var == undef { + fail('...') } - - ENDHEREDOC - - unless args.length > 0 then - raise Puppet::ParseError, ("validate_string(): wrong number of arguments (#{args.length}; must be > 0)") + ``` + DOC + ) do |args| + 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.']) + + if args.empty? + raise Puppet::ParseError, "validate_string(): wrong number of arguments (#{args.length}; must be > 0)" end args.each do |arg| - unless arg.is_a?(String) - raise Puppet::ParseError, ("#{arg.inspect} is not a string. It looks to be a #{arg.class}") + # 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 - end - end