Class: EnhanceRepo::RpmMd::Other
- Defined in:
- lib/enhance_repo/rpm_md/other.rb
Overview
represents filelist data
Instance Method Summary collapse
- #empty? ⇒ Boolean
-
#initialize(dir) ⇒ Other
constructor
A new instance of Other.
- #read ⇒ Object
-
#write(file) ⇒ Object
write filelists.xml.
Methods inherited from Data
#metadata_filename, #name, #should_compress?
Methods included from Logger
Constructor Details
#initialize(dir) ⇒ Other
Returns a new instance of Other.
35 36 37 38 |
# File 'lib/enhance_repo/rpm_md/other.rb', line 35 def initialize(dir) @dir = dir @rpmfiles = [] end |
Instance Method Details
#empty? ⇒ Boolean
46 47 48 |
# File 'lib/enhance_repo/rpm_md/other.rb', line 46 def empty? @rpmfiles.empty? end |
#read ⇒ Object
40 41 42 43 44 |
# File 'lib/enhance_repo/rpm_md/other.rb', line 40 def read Dir["#{@dir}/**/*.rpm"].each do |rpmfile| @rpmfiles << rpmfile end end |
#write(file) ⇒ Object
write filelists.xml
51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/enhance_repo/rpm_md/other.rb', line 51 def write(file) builder = Builder::XmlMarkup.new(:target=>file, :indent=>2) builder.instruct! xml = builder.tag!("otherdata", 'xmlns' => 'xmlns="http://linux.duke.edu/metadata/other"', 'packages'=> @rpmfiles.size ) do |b| @rpmfiles.each do |rpmfile| pkgid = PackageId.new(rpmfile) b.package('pkgid'=>pkgid.checksum, 'name' => pkgid.name, 'arch'=>pkgid.arch ) do | b | b.version('epoch' => pkgid.version.e, 'ver' => pkgid.version.v, 'rel' => pkgid.version.r) end # done package tag end # next package end end |