diff options
author | David Schmitt <david.schmitt@puppet.com> | 2016-10-12 10:04:54 +0100 |
---|---|---|
committer | David Schmitt <david.schmitt@puppet.com> | 2016-10-12 10:40:54 +0100 |
commit | b92fad2b7667df836f8ca4eb92d8c8be84bd0538 (patch) | |
tree | 912de02b06abd718f737b1a891d2a38ecc57f04c /lib/puppet/parser/functions/is_string.rb | |
parent | f3978b87a498959b271c487944b1ce3903c359d4 (diff) |
(MODULES-3961) emit more deprecation warnings
This now emits one deprecation warning for each function used (but not for each call-site). Prior to this, only a single deprecation warning would have been triggered, potentially misleading users.
Additionally this adds v4 deprecation stubs for the functions that were missed.
Diffstat (limited to 'lib/puppet/parser/functions/is_string.rb')
-rw-r--r-- | lib/puppet/parser/functions/is_string.rb | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/puppet/parser/functions/is_string.rb b/lib/puppet/parser/functions/is_string.rb index 144cf51..31ee91e 100644 --- a/lib/puppet/parser/functions/is_string.rb +++ b/lib/puppet/parser/functions/is_string.rb @@ -8,14 +8,15 @@ Returns true if the variable passed to this function is a string. EOS ) do |arguments| - function_deprecation([:puppet_3_type_check, '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.']) + function_deprecation([:is_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.']) raise(Puppet::ParseError, "is_string(): Wrong number of arguments " + "given (#{arguments.size} for 1)") if arguments.size < 1 type = arguments[0] - result = type.is_a?(String) + # when called through the v4 API shim, undef gets translated to nil + result = type.is_a?(String) || type.nil? if result and (type == type.to_f.to_s or type == type.to_i.to_s) then return false |