Update stdlib and concat to 6.1.0 both
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / lib / puppet / parser / functions / pick_default.rb
index 36e33ab..d94bb52 100644 (file)
@@ -1,35 +1,40 @@
+#
+# pick_default.rb
+#
 module Puppet::Parser::Functions
- newfunction(:pick_default, :type => :rvalue, :doc => <<-EOS
+  newfunction(:pick_default, :type => :rvalue, :doc => <<-DOC
+    @summary
+      This function will return the first value in a list of values that is not undefined or an empty string.
 
-This function is similar to a coalesce function in SQL in that it will return
-the first value in a list of values that is not undefined or an empty string
-(two things in Puppet that will return a boolean false value). If no value is
-found, it will return the last argument.
+    @return
+      This function is similar to a coalesce function in SQL in that it will return
+      the first value in a list of values that is not undefined or an empty string
+      If no value is found, it will return the last argument.
 
-Typically, this function is used to check for a value in the Puppet
-Dashboard/Enterprise Console, and failover to a default value like the
-following:
+    Typically, this function is used to check for a value in the Puppet
+    Dashboard/Enterprise Console, and failover to a default value like the
+    following:
 
-  $real_jenkins_version = pick_default($::jenkins_version, '1.449')
+      $real_jenkins_version = pick_default($::jenkins_version, '1.449')
 
-The value of $real_jenkins_version will first look for a top-scope variable
-called 'jenkins_version' (note that parameters set in the Puppet Dashboard/
-Enterprise Console are brought into Puppet as top-scope variables), and,
-failing that, will use a default value of 1.449.
+    > *Note:*
+      The value of $real_jenkins_version will first look for a top-scope variable
+      called 'jenkins_version' (note that parameters set in the Puppet Dashboard/
+      Enterprise Console are brought into Puppet as top-scope variables), and,
+      failing that, will use a default value of 1.449.
 
-Note that, contrary to the pick() function, the pick_default does not fail if
-all arguments are empty. This allows pick_default to use an empty value as
-default.
-
-EOS
-) do |args|
-   fail "Must receive at least one argument." if args.empty?
-   default = args.last
-   args = args[0..-2].compact
-   args.delete(:undef)
-   args.delete(:undefined)
-   args.delete("")
-   args << default
-   return args[0]
- end
+      Contrary to the pick() function, the pick_default does not fail if
+      all arguments are empty. This allows pick_default to use an empty value as
+      default.
+    DOC
+             ) do |args|
+    raise 'Must receive at least one argument.' if args.empty?
+    default = args.last
+    args = args[0..-2].compact
+    args.delete(:undef)
+    args.delete(:undefined)
+    args.delete('')
+    args << default
+    return args[0]
+  end
 end