Class: Packages::Rpm::RepositoryMetadata::BuildRepomdXmlService
- Inherits:
-
Object
- Object
- Packages::Rpm::RepositoryMetadata::BuildRepomdXmlService
- Defined in:
- app/services/packages/rpm/repository_metadata/build_repomd_xml_service.rb
Constant Summary collapse
- ROOT_ATTRIBUTES =
{ xmlns: 'http://linux.duke.edu/metadata/repo', 'xmlns:rpm': 'http://linux.duke.edu/metadata/rpm' }.freeze
- ALLOWED_DATA_VALUE_KEYS =
%i[checksum open-checksum location timestamp size open-size].freeze
Instance Method Summary collapse
- #execute ⇒ Object
-
#initialize(data) ⇒ BuildRepomdXmlService
constructor
Expected ‘data` structure.
Constructor Details
#initialize(data) ⇒ BuildRepomdXmlService
Expected ‘data` structure
data = {
filelists: {
checksum: { type: "sha256", value: "123" },
location: { href: "repodata/123-filelists.xml.gz" },
...
},
...
}
22 23 24 |
# File 'app/services/packages/rpm/repository_metadata/build_repomd_xml_service.rb', line 22 def initialize(data) @data = data end |
Instance Method Details
#execute ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'app/services/packages/rpm/repository_metadata/build_repomd_xml_service.rb', line 26 def execute Nokogiri::XML::Builder.new(encoding: 'UTF-8') do |xml| xml.repomd(ROOT_ATTRIBUTES) do xml.revision Time.now.to_i build_data_info(xml) end end.to_xml end |