diff options
Diffstat (limited to 'app/services/packages/rpm/repository_metadata/build_other_xml_service.rb')
-rw-r--r-- | app/services/packages/rpm/repository_metadata/build_other_xml_service.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/app/services/packages/rpm/repository_metadata/build_other_xml_service.rb b/app/services/packages/rpm/repository_metadata/build_other_xml_service.rb new file mode 100644 index 00000000000..00e88f4f548 --- /dev/null +++ b/app/services/packages/rpm/repository_metadata/build_other_xml_service.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true +module Packages + module Rpm + module RepositoryMetadata + class BuildOtherXmlService < BuildXmlBaseService + ROOT_TAG = 'otherdata' + ROOT_ATTRIBUTES = { + xmlns: 'http://linux.duke.edu/metadata/other', + packages: '0' + }.freeze + + def execute + super do |xml| + xml.package(pkgid: data[:pkgid], name: data[:name], arch: data[:arch]) do + xml.version epoch: data[:epoch], ver: data[:version], rel: data[:release] + build_changelog_nodes(xml) + end + end + end + + private + + def build_changelog_nodes(xml) + data[:changelogs].each do |changelog| + xml.changelog changelog[:changelogtext], date: changelog[:changelogtime] + end + end + end + end + end +end |