class Puppet::ModuleTool::InstalledModules

Attributes

by_name[R]
modules[R]

Public Instance Methods

fetch(name) click to toggle source

Fetches {ModuleRelease} entries for each release of the named module.

@param name [String] the module name to look up @return [Array<Semantic::Dependency::ModuleRelease>] a list of releases for

the given name

@see Semantic::Dependency::Source#fetch

# File lib/puppet/module_tool/installed_modules.rb, line 39
def fetch(name)
  name = name.tr('/', '-')

  if @modules.key? name
    @fetched << name
    [ @modules[name] ]
  else
    [ ]
  end
end
fetched() click to toggle source
# File lib/puppet/module_tool/installed_modules.rb, line 50
def fetched
  @fetched
end
priority() click to toggle source
# File lib/puppet/module_tool/installed_modules.rb, line 10
def priority
  10
end

Public Class Methods

new(env) click to toggle source
# File lib/puppet/module_tool/installed_modules.rb, line 14
def initialize(env)
  @env = env
  modules = env.modules_by_path

  @fetched = []
  @modules = {}
  @by_name = {}
  env.modulepath.each do |path|
    modules[path].each do |mod|
      @by_name[mod.name] = mod
      next unless mod.has_metadata?
      release = ModuleRelease.new(self, mod)
      @modules[release.name] ||= release
    end
  end

  @modules.freeze
end