summaryrefslogtreecommitdiff
path: root/lib/puppet/parser/functions/is_string.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/parser/functions/is_string.rb')
-rw-r--r--lib/puppet/parser/functions/is_string.rb5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/puppet/parser/functions/is_string.rb b/lib/puppet/parser/functions/is_string.rb
index f5bef04..31ee91e 100644
--- a/lib/puppet/parser/functions/is_string.rb
+++ b/lib/puppet/parser/functions/is_string.rb
@@ -8,12 +8,15 @@ Returns true if the variable passed to this function is a string.
EOS
) do |arguments|
+ 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