puppetlabs-stdlib/lib/puppet/parser/functions/get_module_path.rb
Dan Bode 05c67671fd (#10802) add new function get_module_path
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
2011-11-14 13:22:55 -08:00

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