Mercurial > repos > other > Puppet
view modules/stdlib/lib/puppet/parser/functions/count.rb @ 0:956e484adc12
Initial public release of Puppet configs
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sat, 16 Aug 2014 19:47:38 +0000 |
parents | |
children | c42fb28cff86 |
line wrap: on
line source
module Puppet::Parser::Functions newfunction(:count, :type => :rvalue, :arity => -2, :doc => <<-EOS Takes an array as first argument and an optional second argument. Count the number of elements in array that matches second argument. If called with only an array it counts the number of elements that are not nil/undef. EOS ) do |args| if (args.size > 2) then raise(ArgumentError, "count(): Wrong number of arguments "+ "given #{args.size} for 1 or 2.") end collection, item = args if item then collection.count item else collection.count { |obj| obj != nil && obj != :undef && obj != '' } end end end