Method: PDK::Util::RubyVersion#available_puppet_versions

Defined in:
lib/pdk/util/ruby_version.rb

#available_puppet_versionsObject



145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
# File 'lib/pdk/util/ruby_version.rb', line 145

def available_puppet_versions
  return @available_puppet_versions unless @available_puppet_versions.nil?

  puppet_spec_files = PDK::Util::Filesystem.glob(File.join(gem_home, 'specifications', '**', 'puppet*.gemspec'))

  gem_path.split(File::PATH_SEPARATOR).each do |path|
    puppet_spec_files += PDK::Util::Filesystem.glob(File.join(path, 'specifications', '**', 'puppet*.gemspec'))
  end

  puppet_specs = []

  puppet_spec_files.each do |specfile|
    spec = Gem::Specification.load(specfile)
    puppet_specs << spec if spec.name == 'puppet'
  end

  @available_puppet_versions = puppet_specs.map(&:version).sort { |a, b| b <=> a }
end