Method: Puppet::Forge.remote_dependency_info

Defined in:
lib/vendor/puppet/forge.rb

.remote_dependency_info(author, mod_name, version) ⇒ Object



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