X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fstdlib%2Flib%2Fpuppet%2Fparser%2Ffunctions%2Fget_module_path.rb;h=ac787c65267b5f98ff7dd52c21348f8635228c04;hb=30caaa85aed7015ca0d77216bff175eebd917eb7;hp=1421b91f52f0244fee66a2515722da441e76795f;hpb=ad88f67c13ae0f1a08936dad643f1e3509ab5f40;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/stdlib/lib/puppet/parser/functions/get_module_path.rb b/3rdparty/modules/stdlib/lib/puppet/parser/functions/get_module_path.rb index 1421b91f5..ac787c652 100644 --- a/3rdparty/modules/stdlib/lib/puppet/parser/functions/get_module_path.rb +++ b/3rdparty/modules/stdlib/lib/puppet/parser/functions/get_module_path.rb @@ -1,17 +1,29 @@ +# +# get_module_path.rb +# module Puppet::Parser::Functions - newfunction(:get_module_path, :type =>:rvalue, :doc => <<-EOT - Returns the absolute path of the specified module for the current - environment. + newfunction(:get_module_path, :type => :rvalue, :doc => <<-DOC + @summary + Returns the absolute path of the specified module for the current + environment. - Example: + @return + Returns the absolute path of the specified module for the current + environment. + + @example Example Usage: $module_path = get_module_path('stdlib') - EOT - ) do |args| - raise(Puppet::ParseError, "get_module_path(): Wrong number of arguments, expects one") unless args.size == 1 - if module_path = Puppet::Module.find(args[0], compiler.environment.to_s) - module_path.path - else - raise(Puppet::ParseError, "Could not find module #{args[0]} in environment #{compiler.environment}") - end + + > *Note:* + that since Puppet 5.4.0 the built-in + [`module_directory`](https://puppet.com/docs/puppet/latest/function.html#module_directory) + function in Puppet does the same thing and will return the path to the first found module + if given multiple values or an array. + DOC + ) do |args| + raise(Puppet::ParseError, 'get_module_path(): Wrong number of arguments, expects one') unless args.size == 1 + module_path = Puppet::Module.find(args[0], compiler.environment.to_s) + raise(Puppet::ParseError, "Could not find module #{args[0]} in environment #{compiler.environment}") unless module_path + module_path.path end end