Suggest different variables to use if we want to tunnel both v4 and v6
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / lib / puppet / parser / functions / get_module_path.rb
1 #
2 # get_module_path.rb
3 #
4 module Puppet::Parser::Functions
5   newfunction(:get_module_path, :type => :rvalue, :doc => <<-DOC
6     Returns the absolute path of the specified module for the current
7     environment.
8
9     Example:
10       $module_path = get_module_path('stdlib')
11
12     Note that since Puppet 5.4.0 the function `module_directory()` in Puppet does the same thing and will return
13     the path to the first found module if given multiple values or an array.
14   DOC
15              ) do |args|
16     raise(Puppet::ParseError, 'get_module_path(): Wrong number of arguments, expects one') unless args.size == 1
17     module_path = Puppet::Module.find(args[0], compiler.environment.to_s)
18     raise(Puppet::ParseError, "Could not find module #{args[0]} in environment #{compiler.environment}") unless module_path
19     module_path.path
20   end
21 end