Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.rb31
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