45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/vendor/puppet/forge.rb', line 45
def self.remote_dependency_info(author, mod_name, version)
version_string = version ? "&version=#{version}" : ''
request = Net::HTTP::Get.new("/api/v1/releases.json?module=#{author}/#{mod_name}" + version_string)
response = repository.make_http_request(request)
json = PSON.parse(response.body) rescue {}
case response.code
when "200"
return json
else
error = json['error'] || ''
if error =~ /^Module #{author}\/#{mod_name} has no release/
return []
else
raise RuntimeError, "Could not find release information for this module (#{author}/#{mod_name}) (HTTP #{response.code})"
end
end
end
|