Mercurial > repos > other > Puppet
diff modules/stdlib/lib/puppet/parser/functions/pick.rb @ 272:c42fb28cff86
Update to a newer Python module
This also pulls in an EPEL module (which we don't use) and a newer
stdlib version.
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Fri, 03 Jan 2020 19:56:04 +0000 |
parents | addb0ea390a1 |
children | d9352a684e62 |
line wrap: on
line diff
--- a/modules/stdlib/lib/puppet/parser/functions/pick.rb Tue Dec 31 13:49:38 2019 +0000 +++ b/modules/stdlib/lib/puppet/parser/functions/pick.rb Fri Jan 03 19:56:04 2020 +0000 @@ -1,29 +1,27 @@ +# +# pick.rb +# module Puppet::Parser::Functions - newfunction(:pick, :type => :rvalue, :doc => <<-EOS + newfunction(:pick, :type => :rvalue, :doc => <<-DOC + 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). 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: -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). 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($::jenkins_version, '1.449') + $real_jenkins_version = pick($::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. - -EOS -) do |args| - args = args.compact - args.delete(:undef) - args.delete(:undefined) - args.delete("") - if args[0].to_s.empty? then - fail Puppet::ParseError, "pick(): must receive at least one non empty value" - else - return args[0] - end - end + 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. +DOC + ) do |args| + args = args.compact + args.delete(:undef) + args.delete(:undefined) + args.delete('') + raise Puppet::ParseError, 'pick(): must receive at least one non empty value' if args[0].to_s.empty? + return args[0] + end end