summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrzysztof Wilczynski <krzysztof.wilczynski@linux.com>2011-04-23 18:11:08 +0100
committerKrzysztof Wilczynski <krzysztof.wilczynski@linux.com>2011-04-23 18:11:08 +0100
commitfa68d78b200befb286b3e18415dd7f820369f5e5 (patch)
treeb8c264f67e212f56336c97f0552597748521d65a
parent908459c1ad7a14d338239e9ba428c56bbffee74c (diff)
downloadpuppet-stdlib-fa68d78b200befb286b3e18415dd7f820369f5e5.tar.gz
puppet-stdlib-fa68d78b200befb286b3e18415dd7f820369f5e5.tar.bz2
Small changes. Added better error checking etc ...
Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
-rw-r--r--collect_indices.rb7
-rw-r--r--join.rb15
2 files changed, 21 insertions, 1 deletions
diff --git a/collect_indices.rb b/collect_indices.rb
index 65abfce..e96c3e9 100644
--- a/collect_indices.rb
+++ b/collect_indices.rb
@@ -10,7 +10,12 @@ module Puppet::Parser::Functions
raise(Puppet::ParseError, "Wrong number of arguments " +
"given (#{arguments.size} for 2)") if arguments.size < 2
- array = arguments.shift
+ array = arguments.shift
+
+ if not array.is_a?(Array)
+ raise(Puppet::ParseError, 'Requires an array to work with')
+ end
+
indices = *arguments # Get them all ... Pokemon ...
if not indices or indices.empty?
diff --git a/join.rb b/join.rb
index b616e05..4522d23 100644
--- a/join.rb
+++ b/join.rb
@@ -7,11 +7,26 @@ module Puppet::Parser::Functions
EOS
) do |arguments|
+ # Technically we support three arguments but only first two are mandatory ....
+ raise(Puppet::ParseError, "Wrong number of arguments " +
+ "given (#{arguments.size} for 2)") if arguments.size < 2
+
array = arguments[0]
+ if not array.is_a?(Array)
+ raise(Puppet::ParseError, 'Requires an array to work with')
+ end
+
suffix = arguments[1]
prefix = arguments[2]
+ raise(Puppet::ParseError, 'You must provide suffix ' +
+ 'to join array elements with') if suffix.empty?
+
+ if prefix and prefix.empty?
+ raise(Puppet::ParseError, 'You must provide prefix to add to join')
+ end
+
if prefix and not prefix.empty?
result = prefix + array.join(suffix + prefix)
else