Sha256: c60d90f8c0ce4a2ff59bd663b4ca0f8b240f31239f4355fb0a0919bd1f584da2

Contents?: true

Size: 1.69 KB

Versions: 21

Compression:

Stored size: 1.69 KB

Contents

Puppet::Parser::Functions::newfunction(
  :filter,
  :arity => -3,
  :doc => <<-DOC
 Applies a parameterized block to each element in a sequence of entries from the first
 argument and returns an array or hash (same type as left operand for array/hash, and array for
 other enumerable types) with the entries for which the block evaluates to `true`.

 This function takes two mandatory arguments: the first should be an Array, a Hash, or an
 Enumerable object (integer, Integer range, or String),
 and the second a parameterized block as produced by the puppet syntax:

       $a.filter |$x| { ... }
       filter($a) |$x| { ... }

 When the first argument is something other than a Hash, the block is called with each entry in turn.
 When the first argument is a Hash the entry is an array with `[key, value]`.

 Example Using filter with one parameter

       # selects all that end with berry
       $a = ["raspberry", "blueberry", "orange"]
       $a.filter |$x| { $x =~ /berry$/ }          # rasberry, blueberry

 If the block defines two parameters, they will be set to `index, value` (with index starting at 0) for all
 enumerables except Hash, and to `key, value` for a Hash.

Example Using filter with two parameters

     # selects all that end with 'berry' at an even numbered index
     $a = ["raspberry", "blueberry", "orange"]
     $a.filter |$index, $x| { $index % 2 == 0 and $x =~ /berry$/ } # raspberry

     # selects all that end with 'berry' and value >= 1
     $a = {"raspberry"=>0, "blueberry"=>1, "orange"=>1}
     $a.filter |$key, $x| { $x =~ /berry$/ and $x >= 1 } # blueberry

- Since 4.0.0
DOC
) do |args|
  function_fail(["filter() is only available when parser/evaluator future is in effect"])
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
puppet-4.2.3 lib/puppet/parser/functions/filter.rb
puppet-4.2.3-x86-mingw32 lib/puppet/parser/functions/filter.rb
puppet-4.2.3-x64-mingw32 lib/puppet/parser/functions/filter.rb
puppet-4.2.2 lib/puppet/parser/functions/filter.rb
puppet-4.2.2-x86-mingw32 lib/puppet/parser/functions/filter.rb
puppet-4.2.2-x64-mingw32 lib/puppet/parser/functions/filter.rb
puppet-4.2.1 lib/puppet/parser/functions/filter.rb
puppet-4.2.1-x86-mingw32 lib/puppet/parser/functions/filter.rb
puppet-4.2.1-x64-mingw32 lib/puppet/parser/functions/filter.rb
puppet-4.2.0 lib/puppet/parser/functions/filter.rb
puppet-4.2.0-x86-mingw32 lib/puppet/parser/functions/filter.rb
puppet-4.2.0-x64-mingw32 lib/puppet/parser/functions/filter.rb
puppet-4.1.0 lib/puppet/parser/functions/filter.rb
puppet-4.1.0-x86-mingw32 lib/puppet/parser/functions/filter.rb
puppet-4.1.0-x64-mingw32 lib/puppet/parser/functions/filter.rb
puppet-4.0.0 lib/puppet/parser/functions/filter.rb
puppet-4.0.0-x86-mingw32 lib/puppet/parser/functions/filter.rb
puppet-4.0.0-x64-mingw32 lib/puppet/parser/functions/filter.rb
puppet-4.0.0.rc1 lib/puppet/parser/functions/filter.rb
puppet-4.0.0.rc1-x86-mingw32 lib/puppet/parser/functions/filter.rb