diff options
author | Krzysztof Wilczynski <krzysztof.wilczynski@linux.com> | 2011-04-23 18:11:08 +0100 |
---|---|---|
committer | Krzysztof Wilczynski <krzysztof.wilczynski@linux.com> | 2011-04-23 18:11:08 +0100 |
commit | fa68d78b200befb286b3e18415dd7f820369f5e5 (patch) | |
tree | b8c264f67e212f56336c97f0552597748521d65a /join.rb | |
parent | 908459c1ad7a14d338239e9ba428c56bbffee74c (diff) |
Small changes. Added better error checking etc ...
Signed-off-by: Krzysztof Wilczynski <krzysztof.wilczynski@linux.com>
Diffstat (limited to 'join.rb')
-rw-r--r-- | join.rb | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -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 |