]> gitweb.fluxo.info Git - puppet-stdlib.git/commitdiff
(maint) clean up validate_slength argument validation
authorAdrien Thebo <git@somethingsinistral.net>
Mon, 12 Aug 2013 18:27:56 +0000 (11:27 -0700)
committerAdrien Thebo <git@somethingsinistral.net>
Mon, 12 Aug 2013 19:55:46 +0000 (12:55 -0700)
lib/puppet/parser/functions/validate_slength.rb

index 68054b8e6ae266f17c6e9d58611cba313fa666aa..83c7ed0f219df2ec60f429f91b8a7267c2b9f5cb 100644 (file)
@@ -30,24 +30,26 @@ module Puppet::Parser::Functions
     end
 
     begin
-      max_length = max_length.to_i
-    rescue NoMethodError => e
-      raise Puppet::ParseError, "validate_slength(): Expected second argument to be a positive Numeric, got a #{max_length.class}"
+      max_length = Integer(max_length)
+      raise ArgumentError if max_length <= 0
+    rescue ArgumentError, TypeError
+      raise Puppet::ParseError, "validate_slength(): Expected second argument to be a positive Numeric, got #{max_length}:#{max_length.class}"
     end
 
-    unless args.length == 2
+    if min_length
       begin
         min_length = Integer(min_length)
-      rescue StandardError => e
-        raise Puppet::ParseError, "validate_slength(): Expected third argument to be unset or a positive Numeric, got a #{min_length.class}"
+        raise ArgumentError if min_length < 0
+    rescue ArgumentError, TypeError
+        raise Puppet::ParseError, "validate_slength(): Expected third argument to be unset or a positive Numeric, got #{min_length}:#{min_length.class}"
       end
     else
       min_length = 0
     end
 
-    raise Puppet::ParseError, "validate_slength(): please pass a positive number as max_length" unless max_length > 0
-    raise Puppet::ParseError, "validate_slength(): please pass a positive number as min_length" unless min_length >= 0
-    raise Puppet::ParseError, "validate_slength(): please pass a min length that is smaller than the maximum" unless min_length <= max_length
+    if min_length > max_length
+      raise Puppet::ParseError, "validate_slength(): Expected second argument to be larger than third argument"
+    end
 
     case input
       when String