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

build_other_xml_service.rb « repository_metadata « rpm « packages « services « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 00e88f4f5482f2a299bf31bec9aace98fa6565a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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