Class: Indexmap::Writer

Inherits:
Object
  • Object
show all
Defined in:
lib/indexmap/writer.rb

Constant Summary collapse

VALID_FORMATS =
%i[index single_file].freeze

Instance Method Summary collapse

Constructor Details

#initialize(base_url:, sections: nil, entries: nil, index_filename: "sitemap.xml", format: :index) ⇒ Writer

Returns a new instance of Writer.



7
8
9
10
11
12
13
# File 'lib/indexmap/writer.rb', line 7

def initialize(base_url:, sections: nil, entries: nil, index_filename: "sitemap.xml", format: :index)
  @entries = normalize_entries(entries)
  @format = normalize_format(format)
  @sections = normalize_sections(sections)
  @base_url = base_url
  @index_filename = index_filename
end

Instance Method Details

#writeObject



15
16
17
18
19
20
21
22
23
# File 'lib/indexmap/writer.rb', line 15

def write
  return [write_file(index_filename, urlset_xml(entries))] if single_file?

  paths = sections.map do |section|
    write_file(section.filename, urlset_xml(section.entries))
  end

  paths + [write_file(index_filename, index_xml(sections))]
end