Skip to content

Commit 5249370

Browse files
committed
Merge pull request #74 from cyberious/validateRange
Update sqlserver_validate_range to take array
2 parents dc0a5a0 + a8f7f56 commit 5249370

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

lib/puppet/parser/functions/sqlserver_validate_range.rb

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,21 @@ module Puppet::Parser::Functions
33
if (args.length < 3) or (args.length > 4) then
44
raise Puppet::ParseError, ("validate_range(): wrong number of arguments (#{args.length}; must be 3)")
55
end
6-
value, lower, upper, msg = args
6+
values, lower, upper, msg = args
77

8-
msg = msg || "validate_range(): #{args[0].inspect} is not between #{args[1].inspect} and #{args[2].inspect}"
98

10-
if /^\d+(|\.\d+)$/.match(value)
11-
raise(Puppet::ParseError, msg) unless Float(value).between?(Float(lower), Float(upper))
12-
else
13-
value.strip!
14-
raise(Puppet::ParseError, msg) unless value.length >= Integer(lower) && value.length <= Integer(upper)
9+
if values.is_a? String
10+
values = Array.new << values
11+
end
12+
13+
values.each do |value|
14+
msg = msg || "validate_range(): #{args[0].inspect} is not between #{args[1].inspect} and #{args[2].inspect}"
15+
if /^\d+(|\.\d+)$/.match(value)
16+
raise(Puppet::ParseError, msg) unless Float(value).between?(Float(lower), Float(upper))
17+
else
18+
value.strip!
19+
raise(Puppet::ParseError, msg) unless value.length >= Integer(lower) && value.length <= Integer(upper)
20+
end
1521
end
1622
end
1723
end

0 commit comments

Comments
 (0)