summaryrefslogtreecommitdiff
path: root/lib/puppet/parser/functions/split.rb
blob: bffecc150d0050272fd9c7466ee6586b09769d6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# This function has two modes of operation: 
#
#  split($string, $delimiter) : $string
#
# Split the first argument on every $delimiter. $delimiter is interpreted as
# Ruby regular expression.
#
#  split($string[], $delimiter) : $string[][]
#
# Returns an array of split results with the result of applying split to each
# item from the first argument. 
#
# For long-term portability it is recommended to refrain from using Ruby's
# extended RE features.
module Puppet::Parser::Functions
	newfunction(:split, :type => :rvalue) do |args|
		if args[0].is_a?(Array)
			args.collect do |a| a.split(/#{args[1]}/) end
		else
			args[0].split(/#{args[1]}/)
		end
	end
end