Update stdlib
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / lib / puppet / parser / functions / empty.rb
index cca620f..4f77ad3 100644 (file)
@@ -8,19 +8,21 @@ Returns true if the variable is empty.
     EOS
   ) do |arguments|
 
-    raise(Puppet::ParseError, "empty(): Wrong number of arguments " +
-      "given (#{arguments.size} for 1)") if arguments.size < 1
+    raise(Puppet::ParseError, "empty(): Wrong number of arguments given (#{arguments.size} for 1)") if arguments.size < 1
 
     value = arguments[0]
 
-    unless value.is_a?(Array) || value.is_a?(Hash) || value.is_a?(String)
-      raise(Puppet::ParseError, 'empty(): Requires either ' +
-        'array, hash or string to work with')
+    unless value.is_a?(Array) || value.is_a?(Hash) || value.is_a?(String) || value.is_a?(Numeric)
+      raise(Puppet::ParseError, 'empty(): Requires either array, hash, string or integer to work with')
     end
 
-    result = value.empty?
+    if value.is_a?(Numeric)
+      return false
+    else
+      result = value.empty?
 
-    return result
+      return result
+    end
   end
 end