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.
36 37 38 39 |
# File 'lib/enhance_repo/rpm_md/other.rb', line 36 def initialize(dir) @dir = dir @rpmfiles = [] end |
Instance Method Details
#empty? ⇒ Boolean
47 48 49 |
# File 'lib/enhance_repo/rpm_md/other.rb', line 47 def empty? @rpmfiles.empty? end |
#read ⇒ Object
41 42 43 44 45 |
# File 'lib/enhance_repo/rpm_md/other.rb', line 41 def read Dir["#{@dir}/**/*.rpm"].each do |rpmfile| @rpmfiles << rpmfile end end |
#write(file) ⇒ Object
write filelists.xml
52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/enhance_repo/rpm_md/other.rb', line 52 def write(file) builder = Builder::XmlMarkup.new(target: file, indent: 2) builder.instruct! 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.version('epoch' => pkgid.version.e, 'ver' => pkgid.version.v, 'rel' => pkgid.version.r) end # done package tag end # next package end end |