Puppet Function: count
- Defined in:
- lib/puppet/parser/functions/count.rb
- Function type:
- Ruby 3.x API
Overview
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.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/puppet/parser/functions/count.rb', line 5 newfunction(:count, :type => :rvalue, :arity => -2, :doc => <<-DOC 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. DOC ) do |args| if args.size > 2 raise(ArgumentError, "count(): Wrong number of arguments given #{args.size} for 1 or 2.") end collection, item = args if item collection.count item else collection.count { |obj| !obj.nil? && obj != :undef && obj != '' } end end |