summaryrefslogtreecommitdiff
path: root/lib/puppet
diff options
context:
space:
mode:
authorAlex Tomlins <alex@tomlins.org.uk>2016-04-07 22:22:17 +0100
committerAlex Tomlins <alex@tomlins.org.uk>2016-04-08 13:42:13 +0100
commit44596e73da1b157ea931d5111f842e108ca203bb (patch)
tree22cce362ebcffea71363f9e75e0d7faddeded8bf /lib/puppet
parent0624c3f8060deb6469046d13008a8fc605a72faa (diff)
(MODULES-3246) Fix concat with Hash arguments.
85d5ead Updated the concat function so that it wouldn't modify the original array. A side-effect of this change is that it now always calls `Array()` on the second argument. If thit is a Hash, this results in `to_a` being called on the hash, which converts it to an array or tuples. This is undesired. Update the behaviour so that it doesn't (indirectly) call `to_a` on anything, instead test for the type of the argument, wrapping it in an array if it's not already an array.
Diffstat (limited to 'lib/puppet')
-rw-r--r--lib/puppet/parser/functions/concat.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/puppet/parser/functions/concat.rb b/lib/puppet/parser/functions/concat.rb
index 618e62d..91edb4e 100644
--- a/lib/puppet/parser/functions/concat.rb
+++ b/lib/puppet/parser/functions/concat.rb
@@ -31,7 +31,7 @@ Would result in:
arguments.shift
arguments.each do |x|
- result = result + Array(x)
+ result = result + (x.is_a?(Array) ? x : [x])
end
return result