summaryrefslogtreecommitdiff
path: root/plugins/puppet/parser/functions/dirname.rb
diff options
context:
space:
mode:
authorDavid Schmitt <david@schmitt.edv-bus.at>2008-08-25 16:45:29 +0200
committerDavid Schmitt <david@schmitt.edv-bus.at>2008-08-25 16:45:29 +0200
commit3a65dd853506db5d276e4162e6bd6920950fb21b (patch)
treef9923a81fab12a43bb0bfa99dcd3322e398c9898 /plugins/puppet/parser/functions/dirname.rb
parent0955f631b958effb60a85eb8f6e73797fd3d3aab (diff)
improve documentation and function naming
Diffstat (limited to 'plugins/puppet/parser/functions/dirname.rb')
-rw-r--r--plugins/puppet/parser/functions/dirname.rb13
1 files changed, 11 insertions, 2 deletions
diff --git a/plugins/puppet/parser/functions/dirname.rb b/plugins/puppet/parser/functions/dirname.rb
index 3f784ac..44b4a00 100644
--- a/plugins/puppet/parser/functions/dirname.rb
+++ b/plugins/puppet/parser/functions/dirname.rb
@@ -1,7 +1,16 @@
-# get the directory corresponding to this filename
+# dirname(string) : string
+# 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.
module Puppet::Parser::Functions
newfunction(:dirname, :type => :rvalue) do |args|
- File.dirname(args[0])
+ if args[0].is_a?(Array)
+ args.collect do |a| File.dirname(a) end
+ else
+ File.dirname(args[0])
+ end
end
end