class YumRepo::PackageChangelogList

Public Class Methods

new(url) click to toggle source
# File lib/yumrepo.rb, line 297
def initialize(url)
  @url = url
  @changelogs = []
  xml_file = Repomd.new(url).other

  begin
    buf = ''
    YumRepo.bench("Zlib::GzipReader.read") do
      buf = Zlib::GzipReader.new(xml_file).read
    end

    YumRepo.bench("Building PackageChangelog Objects") do
      d = Nokogiri::XML::Reader(buf)
      d.each do |n|
        if n.name == 'package' and not n.node_type == Nokogiri::XML::Reader::TYPE_END_ELEMENT
          @changelogs << PackageChangelog.new(n.outer_xml)
        end
      end
    end

  ensure
    if xml_file.respond_to?(:close!)
      xml_file.close!
    else
      xml_file.close
    end
  end
end

Public Instance Methods

all() click to toggle source
# File lib/yumrepo.rb, line 332
def all
  @changelogs
end
each() { |p| ... } click to toggle source
# File lib/yumrepo.rb, line 326
def each
  all.each do |p|
    yield p
  end
end