140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
|
# File 'lib/pdk/util/puppet_version.rb', line 140
def from_module_metadata(metadata = nil)
require 'pdk/module/metadata'
require 'pdk/util'
if metadata.nil?
metadata_file = PDK::Util.find_upwards('metadata.json')
unless metadata_file
PDK.logger.warn 'Unable to determine Puppet version for module: no metadata.json present in module.'
return
end
metadata = PDK::Module::Metadata.from_file(metadata_file)
end
metadata.validate_puppet_version_requirement!
metadata_requirement = metadata.puppet_requirement
pattern = /#{Gem::Requirement::PATTERN_RAW}/o
requirement_strings = metadata_requirement['version_requirement'].scan(pattern).map do |req|
req.compact.join(' ')
end
gem_requirement = Gem::Requirement.create(requirement_strings)
find_gem(gem_requirement)
end
|