summaryrefslogtreecommitdiffstats
path: root/lib/puppet/node
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/node')
-rw-r--r--lib/puppet/node/environment.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/puppet/node/environment.rb b/lib/puppet/node/environment.rb
index d4c04469c..785a5ccec 100644
--- a/lib/puppet/node/environment.rb
+++ b/lib/puppet/node/environment.rb
@@ -37,6 +37,22 @@ class Puppet::Node::Environment
return nil
end
+ def modulepath
+ dirs = self[:modulepath].split(File::PATH_SEPARATOR)
+ if ENV["PUPPETLIB"]
+ dirs = ENV["PUPPETLIB"].split(File::PATH_SEPARATOR) + dirs
+ end
+ dirs.collect do |dir|
+ if dir !~ /^#{File::SEPARATOR}/
+ File.join(Dir.getwd, dir)
+ else
+ dir
+ end
+ end.find_all do |p|
+ p =~ /^#{File::SEPARATOR}/ && FileTest.directory?(p)
+ end
+ end
+
# Return all modules from this environment.
def modules
result = []