Sha256: 0197d215903c2971035f8276c8c86116f90aaa5fb8ec9dd56a9d08f1dfff05a0
Contents?: true
Size: 1.06 KB
Versions: 4
Compression:
Stored size: 1.06 KB
Contents
require 'xml/mapping' require 'resync/resource' module Resync # Base module of +<sitemapindex>+ elements, such as {ChangeDumpIndex}, # {ChangeListIndex}, {ResourceDumpIndex}, and {ResourceListIndex}. module SitemapIndex include ::XML::Mapping def self.included(base) base.extend(ClassMethods) base.use_mapping :sitemapindex base.root_element_name 'sitemapindex' base.array_node :resources, 'sitemap', class: Resource, default_value: [], sub_mapping: :_default end # Ensures that an index is always written as a +<sitemapindex>+. # Overrides +::XML::Mapping.save_to_xml+. def save_to_xml(options = { mapping: :_default }) options = options.merge(mapping: :sitemapindex) super(options) end # Ensures that an index is always read as a +<sitemapindex>+. # Overrides +::XML::Mapping::ClassMethods.load_from_xml+. module ClassMethods def load_from_xml(xml, options = { mapping: :_default }) options = options.merge(mapping: :sitemapindex) super(xml, options) end end end end
Version data entries
4 entries across 4 versions & 1 rubygems