module-common/lib/puppet/parser/functions/basename.rb

22 lines
576 B
Ruby

# This function has two modes of operation:
#
# basename(string) : string
#
# Returns the last component of the filename given as argument, which must be
# formed using forward slashes ("/") regardless of the separator used on the
# local file system.
#
# basename(string[]) : string[]
#
# Returns an array of strings with the basename of each item from the argument.
#
module Puppet::Parser::Functions
newfunction(:basename, :type => :rvalue) do |args|
if args[0].is_a?(Array)
args.collect do |a| File.basename(a) end
else
File.basename(args[0])
end
end
end