Update to error reporting.
Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
This commit is contained in:
parent
61936fdeaa
commit
a64c206708
2 changed files with 21 additions and 16 deletions
|
@ -7,20 +7,22 @@ module Puppet::Parser::Functions
|
||||||
EOS
|
EOS
|
||||||
) do |arguments|
|
) do |arguments|
|
||||||
|
|
||||||
raise(Puppet::ParseError, "Wrong number of arguments " +
|
raise(Puppet::ParseError, "collect_indices(): Wrong number of " +
|
||||||
"given (#{arguments.size} for 2)") if arguments.size < 2
|
"arguments given (#{arguments.size} for 2)") if arguments.size < 2
|
||||||
|
|
||||||
array = arguments.shift
|
array = arguments.shift
|
||||||
array_size = array.size
|
array_size = array.size
|
||||||
|
|
||||||
if not array.is_a?(Array)
|
if not array.is_a?(Array)
|
||||||
raise(Puppet::ParseError, 'Requires an array to work with')
|
raise(Puppet::ParseError, 'collect_indices(): Requires an array ' +
|
||||||
|
'to work with')
|
||||||
end
|
end
|
||||||
|
|
||||||
indices = *arguments # Get them all ... Pokemon ...
|
indices = *arguments # Get them all ... Pokemon ...
|
||||||
|
|
||||||
if not indices or indices.empty?
|
if not indices or indices.empty?
|
||||||
raise(Puppet::ParseError, 'You must provide indices to collect')
|
raise(Puppet::ParseError, 'collect_indices(): You must provide ' +
|
||||||
|
'indices to collect')
|
||||||
end
|
end
|
||||||
|
|
||||||
indices_list = []
|
indices_list = []
|
||||||
|
@ -31,25 +33,27 @@ module Puppet::Parser::Functions
|
||||||
stop = m[2].to_i
|
stop = m[2].to_i
|
||||||
|
|
||||||
if start > stop
|
if start > stop
|
||||||
raise(Puppet::ParseError, 'Stop index in given indices range ' +
|
raise(Puppet::ParseError, 'collect_indices(): Stop index in ' +
|
||||||
'is smaller than the start index')
|
'given indices range is smaller than the start index')
|
||||||
elsif stop > array_size - 1 # First element is at index 0 is it not?
|
elsif stop > array_size - 1 # First element is at index 0 is it not?
|
||||||
raise(Puppet::ParseError, 'Stop index in given indices range ' +
|
raise(Puppet::ParseError, 'collect_indices(): Stop index in ' +
|
||||||
'exceeds array size')
|
'given indices range exceeds array size')
|
||||||
end
|
end
|
||||||
|
|
||||||
(start .. stop).each { |i| indices_list << i.to_i }
|
(start .. stop).each { |i| indices_list << i.to_i }
|
||||||
else
|
else
|
||||||
# Only positive numbers allowed ...
|
# Only positive numbers allowed ...
|
||||||
if not i.match(/^\d+$/)
|
if not i.match(/^\d+$/)
|
||||||
raise(Puppet::ParseError, 'Unknown format of given index')
|
raise(Puppet::ParseError, 'collect_indices(): Unknown format ' +
|
||||||
|
'of given index')
|
||||||
end
|
end
|
||||||
|
|
||||||
# In Puppet numbers are often string-encoded ...
|
# In Puppet numbers are often string-encoded ...
|
||||||
i = i.to_i
|
i = i.to_i
|
||||||
|
|
||||||
if i > array_size - 1 # Same story. First element is at index 0 ...
|
if i > array_size - 1 # Same story. First element is at index 0 ...
|
||||||
raise(Puppet::ParseError, 'Given index exceeds array size')
|
raise(Puppet::ParseError, 'collect_indices(): Given index ' +
|
||||||
|
'exceeds array size')
|
||||||
end
|
end
|
||||||
|
|
||||||
indices_list << i
|
indices_list << i
|
||||||
|
|
13
join.rb
13
join.rb
|
@ -7,24 +7,25 @@ module Puppet::Parser::Functions
|
||||||
EOS
|
EOS
|
||||||
) do |arguments|
|
) do |arguments|
|
||||||
|
|
||||||
# Technically we support three arguments but only first two are mandatory ....
|
# Technically we support three arguments but only first two are mandatory ...
|
||||||
raise(Puppet::ParseError, "Wrong number of arguments " +
|
raise(Puppet::ParseError, "join(): Wrong number of arguments " +
|
||||||
"given (#{arguments.size} for 2)") if arguments.size < 2
|
"given (#{arguments.size} for 2)") if arguments.size < 2
|
||||||
|
|
||||||
array = arguments[0]
|
array = arguments[0]
|
||||||
|
|
||||||
if not array.is_a?(Array)
|
if not array.is_a?(Array)
|
||||||
raise(Puppet::ParseError, 'Requires an array to work with')
|
raise(Puppet::ParseError, 'join(): Requires an array to work with')
|
||||||
end
|
end
|
||||||
|
|
||||||
suffix = arguments[1]
|
suffix = arguments[1]
|
||||||
prefix = arguments[2]
|
prefix = arguments[2] if arguments[2]
|
||||||
|
|
||||||
raise(Puppet::ParseError, 'You must provide suffix ' +
|
raise(Puppet::ParseError, 'join(): You must provide suffix ' +
|
||||||
'to join array elements with') if suffix.empty?
|
'to join array elements with') if suffix.empty?
|
||||||
|
|
||||||
if prefix and prefix.empty?
|
if prefix and prefix.empty?
|
||||||
raise(Puppet::ParseError, 'You must provide prefix to add to join')
|
raise(Puppet::ParseError, 'join(): You must provide prefix ' +
|
||||||
|
'to add to join')
|
||||||
end
|
end
|
||||||
|
|
||||||
if prefix and not prefix.empty?
|
if prefix and not prefix.empty?
|
||||||
|
|
Loading…
Reference in a new issue