05c67671fd
This commit adds a new function called get_module_path. get_module_path returns the absolute path of a specified module. The code and functionality is very similar to how templates and files are detected inside of modules. the function has been tested against puppet 2.6.10 and 2.7.x
17 lines
612 B
Ruby
17 lines
612 B
Ruby
module Puppet::Parser::Functions
|
|
newfunction(:get_module_path, :type =>:rvalue, :doc => <<-EOT
|
|
Returns the absolute path of the specified module for the current
|
|
environment.
|
|
|
|
Example:
|
|
$module_path = get_module_path('stdlib')
|
|
EOT
|
|
) do |args|
|
|
raise(Puppet::ParseError, "get_module_name(): 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
|
|
end
|
|
end
|