Sha256: e179cb04a044d32dc865cd3dbcb12128bd3abbd8828e8b4bfcc6f1182e43f62c

Contents?: true

Size: 1.08 KB

Versions: 4

Compression:

Stored size: 1.08 KB

Contents

# frozen_string_literal: true

Puppet::Parser::Functions::newfunction(
  :find_file,
  :type => :rvalue,
  :arity => -2,
  :doc => <<~DOC
    Finds an existing file from a module and returns its path.
    
    The argument to this function should be a String as a `<MODULE NAME>/<FILE>`
    reference, which will search for `<FILE>` relative to a module's `files`
    directory. (For example, the reference `mysql/mysqltuner.pl` will search for the
    file `<MODULES DIRECTORY>/mysql/files/mysqltuner.pl`.)
    
    This function can also accept:
    
    * An absolute String path, which will check for the existence of a file from anywhere on disk.
    * Multiple String arguments, which will return the path of the **first** file
      found, skipping non existing files.
    * An array of string paths, which will return the path of the **first** file
      found from the given paths in the array, skipping non existing files.
    
    The function returns `undef` if none of the given paths were found
    
    - since 4.8.0
  DOC
) do |_args|
  Puppet::Parser::Functions::Error.is4x('find_file')
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
puppet-8.4.0 lib/puppet/parser/functions/find_file.rb
puppet-8.4.0-x86-mingw32 lib/puppet/parser/functions/find_file.rb
puppet-8.4.0-x64-mingw32 lib/puppet/parser/functions/find_file.rb
puppet-8.4.0-universal-darwin lib/puppet/parser/functions/find_file.rb