summaryrefslogtreecommitdiff
path: root/lib/puppet/parser/functions/dirname.rb
blob: ea0d50b4fa16f0041948f2797aa6b0588f943ceb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# This function has two modes of operation:
# 
#  dirname(string) : string
#
# Returns all components of the filename given as argument except the last
# one. The filename must be formed using forward slashes (``/..) regardless of
# the separator used on the local file system.
#
#  dirname(string[]) : string[]
#
# Returns an array of strings with the basename of each item from the argument. 
#
module Puppet::Parser::Functions
	newfunction(:dirname, :type => :rvalue) do |args|
		if args[0].is_a?(Array)
			args.collect do |a| File.dirname(a) end
		else
			File.dirname(args[0])
		end
	end
end