]> gitweb.fluxo.info Git - puppet-common.git/commitdiff
improve documentation and function naming
authorDavid Schmitt <david@schmitt.edv-bus.at>
Mon, 25 Aug 2008 14:45:29 +0000 (16:45 +0200)
committerDavid Schmitt <david@schmitt.edv-bus.at>
Mon, 25 Aug 2008 14:45:29 +0000 (16:45 +0200)
plugins/puppet/parser/functions/basename.rb
plugins/puppet/parser/functions/dirname.rb
plugins/puppet/parser/functions/split.rb
plugins/puppet/parser/functions/substitute.rb [new file with mode: 0644]

index 14f0ca0f5094609925b51314f9d4f2e5dd5f7ce9..226d6e5912d768809039d27703682beb6becd371 100644 (file)
@@ -1,7 +1,16 @@
-# get the basename of the given filename
+# basename(string) : string
+# 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.
 module Puppet::Parser::Functions
        newfunction(:basename, :type => :rvalue) do |args|
-               File.basename(args[0])
+               if args[0].is_a?(Array)
+                       args.collect do |a| File.basename(a) end
+               else
+                       File.basename(args[0])
+               end
        end
 end
 
index 3f784acdf32d53050a376864ac6281217cd689d7..44b4a00746481942ff3eb8ee4f0de15c5c00af18 100644 (file)
@@ -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
 
index d08a40b1cabc706124fab78abd834dadbdae535b..5237c9203bbf6f744beed737916a489878184569 100644 (file)
@@ -1,7 +1,17 @@
-# generic split call
+# split($string, $delimiter) : $string
+# split($string[], $delimiter) : $string[][]
+#
+# Split the first argument(s) on every $delimiter. $delimiter is interpreted as
+# Ruby regular expression.
+#
+# 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|
-               args[0].split(/#{args[1]}/)
+               if args[0].is_a?(Array)
+                       args.collect do |a| a.split(/#{args[1]}/) end
+               else
+                       args[0].split(/#{args[1]}/)
+               end
        end
 end
-
diff --git a/plugins/puppet/parser/functions/substitute.rb b/plugins/puppet/parser/functions/substitute.rb
new file mode 100644 (file)
index 0000000..4c97def
--- /dev/null
@@ -0,0 +1,20 @@
+# subsititute($string, $regex, $replacement) : $string
+# subsititute($string[], $regex, $replacement) : $string[]
+#
+# Replace all ocurrences of $regex in $string by $replacement.
+# $regex is interpreted as Ruby regular expression.
+#
+# For long-term portability it is recommended to refrain from using Ruby's
+# extended RE features.
+module Puppet::Parser::Functions
+       newfunction(:substitute, :type => :rvalue) do |args|
+               if args[0].is_a?(Array)
+                       args[0].collect do |val|
+                               val.gsub(/#{args[1]}/, args[2])
+                       end
+               else
+                       args[0].gsub(/#{args[1]}/, args[2])
+               end
+       end
+end
+