lib/vagrant-puppet-install/config.rb in vagrant-puppet-install-2.7.0 vs lib/vagrant-puppet-install/config.rb in vagrant-puppet-install-3.0.0
- old
+ new
@@ -17,10 +17,13 @@
if @puppet_version == UNSET_VALUE
@puppet_version = nil
elsif @puppet_version.to_s == 'latest'
# resolve `latest` to a real version
@puppet_version = retrieve_latest_puppet_version
+ elsif valid_puppet_version?(puppet_version)
+ # allows for pessimistic version constraint
+ @puppet_version = retrieve_latest_puppet_version(puppet_version)
end
@install_url = nil if @install_url == UNSET_VALUE
end
def validate!(machine)
@@ -46,12 +49,12 @@
end
private
# Query RubyGems.org's Ruby API and retrive the latest version of Puppet.
- def retrieve_latest_puppet_version
+ def retrieve_latest_puppet_version(version = nil)
available_gems =
- dependency_installer.find_gems_with_sources(puppet_gem_dependency)
+ dependency_installer.find_gems_with_sources(puppet_gem_dependency(version))
spec, _source =
if available_gems.respond_to?(:last)
# DependencyInstaller sorts the results such that the last one is
# always the one it considers best.
spec_with_source = available_gems.last