X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fstdlib%2Flib%2Fpuppet%2Fparser%2Ffunctions%2Fpick_default.rb;h=d94bb52aa6793817a62a218e043a8da879c98afe;hb=30caaa85aed7015ca0d77216bff175eebd917eb7;hp=36e33abfa9a8109101da0ad17ef5ae864a251421;hpb=ad88f67c13ae0f1a08936dad643f1e3509ab5f40;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/stdlib/lib/puppet/parser/functions/pick_default.rb b/3rdparty/modules/stdlib/lib/puppet/parser/functions/pick_default.rb index 36e33abfa..d94bb52aa 100644 --- a/3rdparty/modules/stdlib/lib/puppet/parser/functions/pick_default.rb +++ b/3rdparty/modules/stdlib/lib/puppet/parser/functions/pick_default.rb @@ -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