class Polisher::Errata

Public Class Methods

builds() click to toggle source
# File lib/polisher/targets/errata.rb, line 34
def self.builds
  @cached_url    ||= advisory_url
  @cached_builds ||= nil

  if @cached_url != advisory_url || @cached_builds.nil?
    client.url     = "#{advisory_url}/builds"
    @cached_builds = client.get
    @cached_builds = JSON.parse(client.body_str)
  end

  @cached_builds
end
clear!() click to toggle source
# File lib/polisher/targets/errata.rb, line 28
def self.clear!
  @cached_url = nil
  @cached_builds = nil
  self
end
client() click to toggle source

Initialize/return singleton curl handle to query errata

# File lib/polisher/targets/errata.rb, line 17
def self.client
  @curl ||= begin
    curl = Curl::Easy.new
    curl.ssl_verify_peer = false
    curl.ssl_verify_host = false
    curl.http_auth_types = :negotiate
    curl.userpwd = ':'
    curl
  end
end
versions_for(name, &bl) click to toggle source
# File lib/polisher/targets/errata.rb, line 47
def self.versions_for(name, &bl)
  versions = builds.collect do |_tag, builds|
    ErrataBuild.builds_matching(builds, name)
  end.flatten
  bl.call(:errata, name, versions) unless bl.nil?
  versions
end